CSS 单位是 CSS(层叠样式表)中用来指定尺寸、长度和其他度量值的一系列标准,使得样式表能够更精确地控制网页的布局和外观。它们在网页布局设计中扮演着至关重要的角色,比如以下 7 点用途:
通过深入理解 CSS 单位及其应用,前端开发者可以更加精确地控制网页的视觉表现,提升用户体验。OK,那我们一起来看看吧。
这些单位提供了一个固定的大小,不随用户的浏览器或设备而改变。
这几个里面,最常用的就是 px 了,为什么呢?有以下 4 点原因:
尽管 px 非常流行和有用,但也要注意,过度依赖像素单位可能会对响应式设计产生负面影响,因为像素值不随视口大小变化而变化。因此,在需要响应式行为的布局中,相对长度单位(如 em、rem、vw、vh)可能更为合适。
这些单位相对于其他度量值,可以提供更灵活和响应式的布局。
- .parent {
- font-size: 16px;
- }
-
- .child {
- height: 20em; /* 相对于父元素字体大小的20倍,即高度是320px */
- background-color: #00f;
- }
-
- /* 设置根元素的字体大小为18px */
- html {
- font-size: 18px;
- }
- .root {
- height: 20rem; /* 相对于根元素字体大小的20倍,即高度是360px */
- background-color: #00f;
- }
-
- .box {
- width: 100vw; /* 100% of the viewport width,相当于是可视窗口的100% */
- height: 50vh; /* 50% of the viewport height,可视窗口的50% */
- }
-
效果如下,刚好就占了可视窗口的一半。
- /* 使div的宽度为父元素宽度的80% */
- .container {
- width: 80%;
- }
-
这个就不多说了。
了解这些 CSS 单位对于创建灵活、响应式和用户友好的网页设计至关重要。我们可以根据布局需求和设计目标选择最合适的单位,我比较常用的是,rem+vw,vh。
OK,我们除了了解单位,还要了解它的兼容性。
CSS 单位在不同的浏览器和设备上可能存在兼容性问题——
针对兼容性问题,我们可以使用一些兼容性处理方案,如使用calc()函数进行计算、使用@media查询针对不同浏览器和设备进行样式调整,这个后面说到响应式会着重写。