CSS 的黑科技_html/css_WEB-ITnose

WBOY
Freigeben: 2016-06-21 09:09:32
Original
955 Leute haben es durchsucht

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

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

border-radius

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

.box {  border-radius: 4px;}
Nach dem Login kopieren

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

.box {  border-radius: 4px 6px 6px 4px;}
Nach dem Login kopieren

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

.box {  border-radius: 5px 5px 3px 2px / 5px 5px 1px 3px;}
Nach dem Login kopieren

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

斜线前面的影响的是水平方向,斜线后面影响的是垂直方向,各个数字就分别代表四个不一样的方向。
Nach dem Login kopieren

outline-offset

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

input {    outline : none;}input:focus {    outline : none;}
Nach dem Login kopieren

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

input {    outline-offset: 4px ;}
Nach dem Login kopieren

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

类的声明

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

.col-8 {}
Nach dem Login kopieren

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

.? {  color: hotpink;}.★ {  color: yellow;}
Nach dem Login kopieren

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

<br /><br /><div class="? ★"></div>
Nach dem Login kopieren

只要是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;}
Nach dem Login kopieren

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

伪类设置单标签

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


等。具体可以查看这里:

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

下面的示例是实现对


的修饰。

hr:before {    content: "??";}hr:after {    content: " This is an <hr> element";}
Nach dem Login kopieren

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

display: block
Nach dem Login kopieren

属性区分大小写

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

<br /><br /><div class="box"></div><input type="email">
Nach dem Login kopieren

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

div[class="box"] {  color: blue;}input[type="email"] {  border: solid 1px red;}
Nach dem Login kopieren

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

div[class="BOX"] {  color: blue;}input[type="EMAIL"] {  border: solid 1px red;}
Nach dem Login kopieren

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

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

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

Happy Hacking

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage