关于css的几个问题小结

94 阅读3分钟

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

1. 关于calc

C3中使用calc函数动态计算值,例如:

**

.w {
    width: calc(50vmax + 3rem);
    padding: calc(1vw + 1em);
    transform: rotate( calc(1turn + 28deg) );
    background: hsl(100, calc(3 * 20%), 40%);
    font-size: calc(50vw / 3);
}

也可以嵌套:

**

.w {
  width: calc( 100% / calc(100px * 2) )
}

clac()已经得到普遍支持。对于不支持calc()的浏览器,整个属性值表达式将被忽略;
不过我们可以对那些不支持calc()的浏览器,使用一个固定值作为回退

**

.w {
    width: 90%; /* Fallback for older browsers */
    width: calc(100% - 50px);
}
2. 聊聊display:table和table标签

display:table和本身table是相对应的,区别在于,display:table能够让一个html元素和它的子节点像table 元素一样,使用基于表格的css布局,使我们能够轻松定义一个单元格的边界,背景等样式,而不会产生因为使用了table那样的制表标签导致的语义化问题。

之所以现在逐渐淘汰了table系表格元素,是因为用 div+css编写出来的文件比用 table边写出来的文件小,而且 table必须在页面完全加载后才显示,div则是逐行显示;另外table的嵌套性太多,没有 div 简洁

3. 说说position都有哪些值

使用position把元素放置在一个静态的,相对的,绝对的,固定的位置中

  1. static
    设置为 static 的元素,他始终处于页面流给予的位置,static 元素会忽略任何top,buttom,left,right 声明
  2. relative
    相对定位,可将元素相对于其原本正常位置移动
  3. absolute
    绝对定位,相对于最近有定位的父级进行定位(如果无,则相对于文档进行定位)
  4. fixed
    固定定位,相对浏览器窗口的进行定位
4. 关于z-index

z-index用于设置元素的堆叠顺序。本质是设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远

默认值为auto,表示堆叠顺序与父元素相等;其值还可以是inherit,表示从父元素继承 z-index属性的值

特别注意,z-index 仅能在定位元素上奏效

**

img{
  position:absolute;
  left:0px;
  top:0px;
  z-index:-1;
  }
5. 说说CSS3有哪些新特性

CSS3的新特性中,在布局方面新增了 flex布局,在选择器方面新增了例如first-of-type,nth-child 等选择器,在盒模型方面添加了 box-sizing来改变盒模型,在动画方面增加了 animation2d变换,3d 变换等,在颜色方面添加透明,rbga等,在字体方面允许嵌入字体和设置字体阴影,最后还有媒体查讯等