分享7个你可能不认识的CSS单位

CSS 单位是指在 CSS 中用来表示长度、宽度、高度、字体大小等的单位。常见的 CSS 单位有 px、em、rem、vh、vw 等。除了这些常见的单位,还有一些不太常见的单位,本攻略将分享 7 个你可能不认识的 CSS 单位,包括基本概念、实现方法、注意事项和示例说明。

1. ch

ch 是 CSS 中的一个相对单位,表示数字“0”的宽度。例如,如果字体大小为 16px,那么一个 ch 的宽度就是 16px。

实现方法

div {
  font-size: 16px;
  width: 10ch;
}

上述代码中,使用 ch 单位来设置 div 元素的宽度为 10 个数字“0”的宽度。

注意事项

  • ch 单位的兼容性不太好,不建议在生产环境中使用。

示例说明

<div class="container">
  <div class="box">1234567890</div>
  <div class="box">12345678901234567890</div>
</div>
.container {
  font-size: 16px;
}

.box {
  width: 10ch;
  height: 50px;
  background-color: #ccc;
  margin-bottom: 10px;
}

上述代码中,使用 ch 单位来设置 .box 元素的宽度为 10 个数字“0”的宽度,可以看到,第一个 .box 元素的宽度为 160px,第二个 .box 元素的宽度为 320px。

2. ex

ex 是 CSS 中的一个相对单位,表示小写字母“x”的高度。例如,如果字体大小为 16px,那么一个 ex 的高度就是 8px。

实现方法

div {
  font-size: 16px;
  height: 10ex;
}

上述代码中,使用 ex 单位来设置 div 元素的高度为 10 个小写字母“x”的高度。

注意事项

  • ex 单位的兼容性不太好,不建议在生产环境中使用。

示例说明

<div class="container">
  <div class="box">x</div>
  <div class="box">xxxxxxxxxx</div>
</div>
.container {
  font-size: 16px;
}

.box {
  width: 50px;
  height: 10ex;
  background-color: #ccc;
  margin-bottom: 10px;
}

上述代码中,使用 ex 单位来设置 .box 元素的高度为 10 个小写字母“x”的高度,可以看到,第一个 .box 元素的高度为 8px,第二个 .box 元素的高度为 80px。

3. fr

fr 是 CSS 中的一个相对单位,表示剩余空间的比例。例如,如果一个容器的宽度为 100px,其中一个子元素的宽度为 1fr,那么这个子元素的宽度就是剩余空间的 1/2。

实现方法

.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

上述代码中,使用 fr 单位来设置 .container 容器的三个子元素的宽度比例为 1:2:1。

注意事项

  • fr 单位的兼容性不太好,不建议在生产环境中使用。

示例说明

<div class="container">
  <div class="box">1</div>
  <div class="box">2</div>
  <div class="box">3</div>
</div>
.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  width: 100%;
  height: 100px;
}

.box {
  background-color: #ccc;
  text-align: center;
  line-height: 100px;
}

上述代码中,使用 fr 单位来设置 .container 容器的三个子元素的宽度比例为 1:2:1,可以看到,第一个和第三个 .box 元素的宽度为 25%,第二个 .box 元素的宽度为 50%。

4. vmin 和 vmax

vminvmax 是 CSS 中的相对单位,分别表示视口宽度和高度的最小值和最大值。例如,如果视口宽度为 800px,视口高度为 600px,那么 1vmin 的值为 6px,1vmax 的值为 8px。

实现方法

div {
  width: 50vmin;
  height: 50vmax;
}

上述代码中,使用 vminvmax 单位来设置 div 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

注意事项

  • vminvmax 单位的兼容性较好,但在 IE9 及以下版本中不支持。

示例说明

<div class="container">
  <div class="box"></div>
</div>
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  width: 50vmin;
  height: 50vmax;
  background-color: #ccc;
}

上述代码中,使用 vminvmax 单位来设置 .box 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

5. rem

rem 是 CSS 中的相对单位,表示相对于根元素(即 <html> 元素)的字体大小。例如,如果根元素的字体大小为 16px,那么 1rem 的值就是 16px。

实现方法

html {
  font-size: 16px;
}

div {
  font-size: 1.5rem;
}

上述代码中,使用 rem 单位来设置 div 元素的字体大小为根元素字体大小的 1.5 倍。

注意事项

  • rem 单位的兼容性较好,但在 IE8 及以下版本中不支持。

示例说明

<div class="container">
  <div class="box">Hello, world!</div>
</div>
html {
  font-size: 16px;
}

.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  font-size: 2rem;
}

上述代码中,使用 rem 单位来设置 .box 元素的字体大小为根元素字体大小的 2 倍。

6. vw 和 vh

vwvh 是 CSS 中的相对单位,分别表示视口宽度和高度的百分比。例如,如果视口宽度为 800px,视口高度为 600px,那么 1vw 的值为 8px,1vh 的值为 6px。

实现方法

div {
  width: 50vw;
  height: 50vh;
}

上述代码中,使用 vwvh 单位来设置 div 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

注意事项

  • vwvh 单位的兼容性较好,但在 IE8 及以下版本中不支持。

示例说明

<div class="container">
  <div class="box"></div>
</div>
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  width: 50vw;
  height: 50vh;
  background-color: #ccc;
}

上述代码中,使用 vwvh 单位来设置 .box 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

7. vmin 和 vmax

vminvmax 是 CSS 中的相对单位,分别表示视口宽度和高度的最小值和最大值。例如,如果视口宽度为 800px,视口高度为 600px,那么 1vmin 的值为 6px,1vmax 的值为 8px。

实现方法

div {
  width: 50vmin;
  height: 50vmax;
}

上述代码中,使用 vminvmax 单位来设置 div 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

注意事项

  • vminvmax 单位的兼容性较好,但在 IE9 及以下版本中不支持。

示例说明

<div class="container">
  <div class="box"></div>
</div>
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  width: 50vmin;
  height: 50vmax;
  background-color: #ccc;
}

上述代码中,使用 vminvmax 单位来设置 .box 元素的宽度为视口宽度的 50%,高度为视口高度的 50%。

总结

CSS 中有很多种单位,除了常见的 px、em、rem、vh、vw 等,还有一些不太常见的单位,例如 ch、ex、fr、vmin 和 vmax 等。在使用这些不太常见的单位时,需要注意它们的兼容性和使用场景。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:分享7个你可能不认识的CSS单位 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 利用纯CSS实现动态的文字效果实例

    这里是“利用纯CSS实现动态的文字效果实例”的完整攻略。 1.选择合适的字体 在实现动态文字效果之前,我们需要选择一种合适的字体来突出文字的视觉效果。一些常用的字体如下: Helvetica Arial Times New Roman Georgia 如果您需要使用其他特殊的字体,可以通过引入字体文件或使用CSS3的@font-face来实现。在选择字体的时…

    css 2023年6月10日
    00
  • 利用纯css实现table固定列与表头中间横向滚动的思路和实例

    下面我来详细讲解“利用纯CSS实现table固定列与表头中间横向滚动”的思路和实现步骤。 思路 要实现表头和固定列的横向滚动,需要将表格分为三部分:左侧固定列、中间表头、右侧内容。而为了保证左侧固定列的位置不会改变,需要给该列添加固定的宽度。 在滚动时,需要通过对表头和右侧内容的scroll事件进行监听,来同步滚动位置,保证左侧固定列的位置不变。 实现步骤 …

    css 2023年6月10日
    00
  • CSS教程:认识层叠规则互相作用

    下面给您详细讲解 “CSS教程:认识层叠规则互相作用” 的完整攻略: 1. CSS层叠 层叠是CSS的一个特性,表示CSS属性的值可以堆叠起来形成最终的渲染效果,这种渲染效果反映了CSS选择器的优先级。选择器优先级越高,对应的CSS属性值就越具有优先权,就会覆盖掉优先级较低的值。 2. CSS选择器优先级 CSS选择器优先级是用来确定哪个CSS规则应该应用到…

    css 2023年6月9日
    00
  • 15个开发者必须知道的chrome技巧

    15个开发者必须知道的Chrome技巧 Google Chrome是最受欢迎的浏览器之一,尤其对于开发者而言更是如此。下面是15个Chrome技巧,可以极大提高开发者的工作效率和生产力: 1. 勾选”disable cache” 在开发阶段,为了避免缓存干扰,开发者通常需要刷新页面来看效果。打开控制台,选中”disable cache”,可以禁止掉浏览器的缓…

    css 2023年6月11日
    00
  • JS+CSS3实现超炫的散列画廊特效

    让我来为您详细讲解一下“JS+CSS3实现超炫的散列画廊特效”的完整攻略。 一、项目背景 散列画廊特效是一种非常流行的网页动效,可以增强用户对网站内容的关注度,提升用户体验。 二、实现思路 该特效的实现主要分为三个部分: 利用CSS3的transform属性对图片进行平移和旋转; 利用JavaScript实现图片的散列排列和鼠标悬浮时的效果变化; 利用CSS…

    css 2023年6月9日
    00
  • DIV或者DIV里面的图片水平与垂直居中的方法

    让我详细讲解一下DIV或者DIV里面的图片水平与垂直居中的方法。在这里我会给出两种常用的实现方式。 方法一:使用CSS的position和transform属性 首先,HTML结构如下: <div class="wrapper"> <img src="path/to/image.jpg" alt=&q…

    css 2023年6月9日
    00
  • CSS3 伪类选择器 nth-child()说明

    CSS3 的伪类选择器之一是nth-child(),其作用是筛选出一组兄弟元素中,特定位置的那一个。 语法说明 对某个元素所进行的选取规则为: :nth-child([<an+b>]) 解释如下: n表示从等差数列的第一个数开始,共有多少个数,从0开始计算。 an+b表示等差数列的公式,其中a和b为自然数,且满足条件0 ≤ b < a。 用…

    css 2023年6月9日
    00
  • CSS3中几个新增加的盒模型属性使用教程

    针对“CSS3中几个新增加的盒模型属性使用教程”的问题,我为您提供以下完整攻略。 CSS3新增加的盒模型属性 CSS3新增加了几个盒模型属性,可以帮助我们更好地处理元素尺寸和布局,下面对每个属性进行详细介绍。 box-sizing box-sizing属性用于设置盒模型的尺寸计算方式,可以设为content-box和border-box两个值: conten…

    css 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部