样式不生效可能是
选择器优先级太低
选择器没有选中期望的元素
属性用的不对:
元素不支持这个属性:比如行内级非替换元素设置width和height无效
被共类型属性覆盖,比如background覆盖background-color
浏览器不支持
定位
绝对定位元素(包括fixed)特点
可以设置宽高(包括行内元素)
宽高默认由内容决定
不受标准流约束
不再向父元素汇报高度
元素内部还是默认按照标准流排布
flex布局子元素item特点
不再严格区分块级元素和行内级元素
默认包裹内容,但是可以设置宽高
flex-grow
默认值0,,不扩展
当flex container在主轴方向有剩余空间时才生效
扩展后也不能超过max-width和max-height
flex-shrink
默认值为1,默认宽度之和大于容器的时候会发生收缩
flex-basis
flex-basis(除auto外)比width/height优先级更高但是低于max-width/max-height/min-width/min-height
收缩后也不能小于min-width/min-height
flex
单值:
无单位,就是flex-grow,如flex:1,就是flex-grow:1
带单位的值,比如flex:100px,就是flex-basis:100px
水平垂直居中
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
text-align
text-aline 只对设置元素内的行内级元素起作用,文字、图片、input等,或者给块级加display-inline-block,只适用于块元素
块级元素水平居中
margin: 0 auto
转为行内块级元素 子元素display:inline-block,父元素text-align:center
margin上下传递
子盒子设置margin-top和margin-bottom(父元素高度要设置为auto才出现)会传递给父元素, 解决办法:
父元素触发BFC,设置overflow:auto
父元素设置border
父元素使用padding-top、padding-bottom代替
行内非替换元素设置margin padding border
设置margin-top margin-bottom 不生效
设置padding-top padding-bottom 上下被撑开,但是不占据空间
设置border也是上下被撑开但是不占据空间
em
在CSS中,1em表示当前元素的字号大小,实际值取决于在哪个元素上应用
color设置前景色
color设置前景色,不仅是文本颜色,所以像text-decoration属性也会被设置颜色
line-height
设置文本垂直居中,line-height减去文本高度就是行距上下各分一半
元素隐藏
display:none 不渲染这个元素,相当于没有
visibility:hidden 元素位置保留
color:rgba(xx,xx,xx,0) 不影响子元素内容
opacity 子元素会被影响