Maison > interface Web > tutoriel HTML > CSS 的黑科技_html/css_WEB-ITnose

CSS 的黑科技_html/css_WEB-ITnose

WBOY
Libérer: 2016-06-21 09:09:32
original
969 Les gens l'ont consulté

原文来自:https://jellybool.com/post/css-that-you-may-not-know

昨天由于某些原因没有写博客,之前说好的每天一篇的,这篇是为了补昨天的了。然后我就要当一次标题党了。这里的黑科技其实就是一些CSS中不怎么为人所知但在解决某些问题的时候很溜的属性。

border-radius

很多开发者估计都没有正确认识这个border-radius,因为基本上很多人都是这么用的:

.box {  border-radius: 4px;}
Copier après la connexion

稍微高端一点的是这样的:

.box {  border-radius: 4px 6px 6px 4px;}
Copier après la connexion

然而,终极黑科技是这样用的:

.box {  border-radius: 5px 5px 3px 2px / 5px 5px 1px 3px;}
Copier après la connexion

对,它可以赋8个值,没见过?不着急,具体的解释是这样的:

斜线前面的影响的是水平方向,斜线后面影响的是垂直方向,各个数字就分别代表四个不一样的方向。
Copier après la connexion

outline-offset

相信很多开发者在写CSS的时候对下面的语句会很熟悉:

input {    outline : none;}input:focus {    outline : none;}
Copier après la connexion

这就是将input输入框去掉默认的蓝线框的方法。其实,这里还有说一个就是,CSS中还有一个outline-offset属性,在这个属性中,你可以设置默认线框的距离;像这样

input {    outline-offset: 4px ;}
Copier après la connexion

调节该属性值的大小你就可以看到outline的距离变化了。

类的声明

对于下面的类的声明,可能大家都很熟悉:

.col-8 {}
Copier après la connexion

这当然没什么,但是如果你这样写呢:

.? {  color: hotpink;}.★ {  color: yellow;}
Copier après la connexion

嗯,看起来怎么样,你是可以这么用的:

<br /><br /><div class="? ★"></div>
Copier après la connexion

只要是Unicode的,你都可以这么来声明你的类。

选中连续的几个元素

ol li:nth-child(n+7):nth-child(-n+14) {  background: lightpink;}/** Or Safari Way **/ol li:nth-child(-n+14):nth-child(n+7) {  background: lightpink;}
Copier après la connexion

上面的这种写法其实就可以达到选中ol下面的第七到第十四个li元素。

伪类设置单标签

html中有几个常见的单标签:
,


等。具体可以查看这里:

http://www.w3.org/TR/html5/syntax.html#void-elements

下面的示例是实现对


的修饰。

hr:before {    content: "??";}hr:after {    content: " This is an <hr> element";}
Copier après la connexion

没错,关键就是使用:before和:after这两个伪类。在这里,顺便说一点就是,其实你还可以用这两个伪类来修饰,不过这个前提是,你把这两个的display属性设置为:

display: block
Copier après la connexion

属性区分大小写

假如我们在写html的时候有类似下面的代码:

<br /><br /><div class="box"></div><input type="email">
Copier après la connexion

然后我们用属性选择器进行CSS修饰:

div[class="box"] {  color: blue;}input[type="email"] {  border: solid 1px red;}
Copier après la connexion

这样的声明方式毫无疑问地就会生效。然而,如果我们声明成下面这个样子,结果会是怎么样的呢:

div[class="BOX"] {  color: blue;}input[type="EMAIL"] {  border: solid 1px red;}
Copier après la connexion

这变成了大写之后,第一个class="BOX"并不会影响到

,而第二个type="EMAIL"还是会正常修饰。所以在使用属性选择器的时候,注意大小写问题。

目前就只觉得这些CSS黑科技需要提醒自己一下,有可以补充。

Happy Hacking

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal