「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战」
css水平、垂直居中的写法
考查的是css的基础知识是否全面,所以平时一定要注意多积累
水平居中
- 行内元素:
text-align: center
- 块级元素:
margin: 0 auto
- position:absolute +left:50%+ transform:translateX(-50%)
display:flex + justify-content: center
垂直居中
- 设置line-height 等于height
- position:absolute +top:50%+ transform:translateY(-50%)
display:flex + align-items: center
- display:table+display:table-cell + vertical-align: middle;
画一条0.5px的直线
考查的是css3的transform
height: 1px;
transform: scale(0.5);
calc, support, media各自的含义及用法
@support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补。
calc() 函数用于动态计算长度值。 calc()函数支持 +
, -
, *
, /
运算;
@media 查询,你可以针对不同的媒体类型定义不同的样式。
1rem、1em、1vh、1px各自代表的含义
rem
em
rem 是全部的长度都相对于根元素<html>
元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem 。
em
- 子元素字体大小的em是相对于父元素字体大小
- 元素的
width/height/padding/margin
用em的话是相对于该元素的font-size
vw/vh
全称是 Viewport Width 和 Viewport Height,视窗的宽度和高度,相当于 屏幕宽度和高度的 1%,不过,处理宽度的时候%单位更合适,处理高度的 话 vh 单位更好。
px
px 像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。一般电脑的分辨率有{1920*1024}等不同的分辨率。
CSS 多列等高如何实现
-
利用
padding-bottom
|margin-bottom
正负值相抵,不会影响页面布局的特点。设置父容器设置超出隐藏(overflow: hidden
),这样父容器的高度就还是它里面的列没有设定padding-bottom
时的高度,当它里面的任一列高度增加了,则父容器的高度被撑到里面最高那列的高度,其他比这列矮的列会用它们的padding-bottom
补偿这部分高度差。 -
利用
table-cell
所有单元格高度都相等的特性,来实现多列等高。 -
利用
flex
布局中项目align-items
属性默认为stretch
,如果项目未设置高度或设为auto
,将占满整个容器的高度 的特性,来实现多列等高。
总结
这是css常见的几道面试题,实际面试中,可能css并不是重要侧重点,但却是实际工作中不可避免的一些技巧,后续会持续更新~~