CSS实用笔记(二)

em、rem、vm、vw分别如何计算尺寸的?

em:相对长度单位,通常是所继承字体大小的倍数,如果未设置字体大小,则为浏览器默认字体大小的倍数。
rem:相对长度单位,根元素(html节点)字体大小的倍数,不设置时为浏览器默认字体大小倍数。
vm:相对于视口的宽度或高度中较小的那个。
vw:窗口宽度的百分比,1vw默认为视窗宽度的1%。类似的有vh,窗口高度的百分比。

颜色有几种写法?透明色如何表示?透明效果如何实现?currentColor如何来用?

  • 颜色关键字:color: blue;
  • 十六进制值:color: #ffffff
  • RGB:color: rgb(224,176,77);(三个字母分别表示色相、饱和度、亮度,基于rgb值得来)
  • HSL:color: hsl(276,100%,85%);
  • RGBA&HSLA:A是阿尔法通道,代表颜色的透明度
  • 透明色可以设置阿尔法值为0或者使用transparent关键字(透明色只能设置背景色为透明,元素本身不是透明的,透明色和元素透明度是不同的)
  • currentColor关键字:如果你想设置当前元素颜色和所继承的父元素颜色一样时,使用currentColor。
  • Opacity属性:设置整个元素为透明

CSS 中calc是什么?

通常用于计算,例如实现一个footer 固定底部的效果:

CSS实用笔记(二)_第1张图片

注:cslc(100% - 90px)中空格不能省

为什么不能轻易的使用height: 100%;

如果元素要使用height: 100%,其父元素必须显示去指明一个高度,若父容器的height也为100%,那么其父父容器必须指明高度,否则元素高度不会被撑开。

CSS样式的来源

  • 使用不同选择器设置的样式
  • 浏览器默认样式(user agent stylesheet)
  • 继承的样式(inherited form xxx)

权重:用户设置样式 > 浏览器默认样式 > 继承的样式

什么是CSS继承?哪些属性能继承,哪些不能?

通过 CSS 继承,子元素将继承最高级元素所拥有的属性如设置body{font-family:Verdana;},不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样。而比如p不想继承高级元素body的字体属性,只需要针对自身的特殊规则,如p{font-family:Times},即可摆脱父元素的规则,这就是CSS继承。
继承属性colorfont-sizefont-familyfont-styleletter-spacingwhite-spacingtext-decorationtext-aligntext-indent等。
非继承属性displayheightwidthpaddingbordermarginmin-widthmax-widthmin-heightmax-heightbackgroundoverflowpositionfloatcleartoprightbottomleftvertical-align等。
注:inherit关键字可用于继承性/非继承性属性。

CSS的权重如何计算

  • 最高权重为添加!important
  • Specificity 特异性
分数 条件
1000 +1/在style属性内或在