9 个有用又有趣的 CSS 属性
共 3344字,需浏览 7分钟
·
2022-06-17 15:55
英文 | https://javascript.plainenglish.io/9-awesome-css-properties-that-you-probably-have-never-used-8cc4c385c3c6
翻译 | 杨小爱
如今,网络上的每个网站或 Web 应用程序都需要大量的 CSS 代码来使事物看起来既漂亮又出众。 我认为如果不使用 CSS,我们将永远不会有一个可以脱颖而出的优秀网页设计。
CSS 是一种非常有用的样式表语言,它主要用于实现网站或 Web 应用程序设计的外观。 通过使用CSS,我们可以轻松地设置网页样式,同时也能实现响应式开发。
多年来,CSS 带来了许多新功能,让 Web 开发人员的生活更轻松。 例如Flexbox、Grid等有趣又有用的属性功能。
近些年,CSS 又有了很大的改进,总是有一些我们可能从未使用或听说过的有趣而有用的新属性。
因此,在今天的文章中,我想与您分享一些很多开发人员谈论的有用且有趣的 CSS 属性, 可能有的你从未使用过。
现在,就让我们一起来了解一下。
1、clip-path 属性
clip-path 非常有趣,它允许我们使用 CSS 创建不同类型的复杂形状(椭圆、圆形、多边形和其他不同的形状)。
该属性能够通过定义应显示元素的哪些部分来创建复杂的形状。 clip-path 可以采用不同的值,例如形状函数和剪辑源。 您可以在 MDN 文档上了解有关该属性的更多信息。
以下是一个语法示例:
clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
如果我们想使用属性 clip-path 轻松创建复杂的形状,我强烈建议使用名为 clip-path-maker 的工具。
它是 100% 免费的,允许我们使用拖放功能创建形状。 创建形状后,该工具会自动为我们生成 CSS 代码。
在我们的视频号上也有应用clip-path 属性的类似案例,具体如下:
2、writing-mode 属性
CSS 的 writing-mode 属性允许我们定义文本行是垂直还是水平布局。 除此之外,它还允许设置块的前进方向。
所有主流浏览器都支持该属性,并且可以采用以下值:
horizontal-tb, vertical-rl, vertical-lr, sideways-rl, and sideways-lr
以下是一个示例:
h1{
writing-mode: vertical-lr;
}
h2{
writing-mode: horizontal-tb;
}
Codepen演示地址:https://codepen.io/MehdiAoussiad/pen/WNoYOEN
3、user-select 属性
如果我们想阻止用户突出显示或选择网页上的文本,CSS 中的 user-select 属性很有用。 该属性定义是否可以选择元素的文本。
因为默认情况下,当您使用鼠标双击文本时,它将被选中(突出显示)。 属性 user-select 可用于防止这种情况发生。
以下是一个示例:
div{
user-select: none;
}
4、object-fit 属性
object-fit 属性 允许我们设置或定义应如何调整替换元素的内容(img、video 等)以适应其容器。
所有主要浏览器都支持此属性。 它可以采用以下值:fill、contain、cover、scale-down 和 none。 如果你还想了解更多内容的话,可以到 MDN 文档(https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit)中去了解。
下面的代码示例允许图像保持其纵横比并填充给定的尺寸。 图像被剪裁以适合。
img{
object-fit: cover;
}
Codepen演示地址:https://codepen.io/MehdiAoussiad/pen/vYxedpK
5、backface-visibility 属性
CSS 中的 backface-visibility 属性设置当转向用户时元素的背面是否可见。
在创建具有悬停效果的翻转卡片时,通常会使用此属性。 它可以采用以下两个值之一:visible(可见)或hidden(隐藏)。
以下是一个示例:
div{
backface-visibility: hidden;
}
Codepen 演示地址:https://codepen.io/ananyaneogi/pen/Ezmyeb
6、 mix-blend-mode 属性
CSS 的 mix-blend-mode 属性是另一个很多人不熟悉的有用属性, 甚至大多数 Web 开发人员都不知道它。
因此,该属性设置并定义了元素的内容,应如何与父元素的内容及其背景混合。 让我们简单地说它定义了一个元素和它背后的另一个元素之间的混合。
这个属性有很多值,例如 normal 、 multiply 、 overlay 、 screen 等等。
以下是一个示例:
.parent img{
position: absolute;
}
.parent h1 {
mix-blend-mode: overlay;
}
Codepen 演示地址:https://codepen.io/annafromduomly/pen/NWWdOPN
7、background-blend-mode 属性
CSS 中的 background-blend-mode 属性是另一个有用的混合模式属性,它允许定义和设置元素的背景图像和背景颜色之间的混合。
该属性有许多值(正常、乘法、屏幕等),可让我们设置不同的混合模式。 除旧版本外,所有主要浏览器都支持它。
看看下面的例子:
混合模式:正常
div{
background: url("tree.png"), url("paper.png");
background-blend-mode: normal;
}
结果:
混合模式:叠加
div{
background: url("tree.png"), url("paper.png");
background-blend-mode: overlay;
}
结果:
8、place-items 属性
CSS 的place-items 属性是 align-items 和 justify-items 两个属性的绝佳简写。 它允许我们在 Flexbox 或 Grid 等布局系统中轻松地在两个方向(内联和块)对齐元素。
该属性可以一次取两个值。 但如果我们只使用一个值,该值将自动用作第二个值。 place-items 属性可以采用以下值:center、start、end、stretch 等等。
以下是一个示例:
div{
place-items: center stretch;
}
9、resize 属性
CSS 中的 resize 属性允许用户通过单击并拖动元素的右上角来调整网页上元素的大小。 因此,它定义了用户是否以及如何调整元素的大小。
该属性通常用于 textarea 等元素,用户可以轻松调整文本区域的大小以编写长格式文本。
有 4 个值可以与 resize 属性一起使用:
vertical(垂直):用户可以垂直调整元素的大小。
horizontal (水平):用户可以水平调整元素的大小。
both:元素可以在两个方向上调整大小。
none:元素不能调整大小。
以下是一个示例:
textarea{
resize: none;
}
写在最后
正如你在上面的列表中看到的一样,CSS 有很多有趣的属性,许多开发人员不使用或不知道。 当我们学习越来越多的 CSS 知识时,你就越会发现有很多东西要学。 CSS 是一种很棒的样式表语言,它有很多我们可以用来让 Web 更漂亮的特性, 我们只需要始终保持更新并不断学习新事物。
学习更多技能
请点击下方公众号