首页  >  文章  >  web前端  >  几个css的黑科技

几个css的黑科技

伊谢尔伦
伊谢尔伦原创
2016-12-01 09:17:181808浏览

这里的黑科技其实就是一些CSS中不怎么为人所知但在解决某些问题的时候很溜的属性。

 border-radius

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

.box {
  border-radius: 4px;
}

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

.box {
  border-radius: 4px 6px 6px 4px;
}

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

.box {
  border-radius: 5px 5px 3px 2px / 5px 5px 1px 3px;
}

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

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

outline-offset

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

input {
    outline : none;
}
input:focus {
    outline : none;
}

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

input {
    outline-offset: 4px ;
}

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

类的声明

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

.col-8 {
}

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

.♥ {
  color: hotpink;
}
.★ {
  color: yellow;
}

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

<div class="♥ ★"></div>

  只要是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;
}

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

伪类设置单标签

  html中有几个常见的单标签:0c6dc11e160d3b678d68754cc175188a ,f32b48428a809b51f04d3228cdf461fa等。

下面的示例是实现对f32b48428a809b51f04d3228cdf461fa的修饰。

hr:before {
    content: "♪♪";
}
hr:after {
    content: " This is an <hr> element";
}

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

display: block

属性区分大小写

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

<div class="box"></div>
<input type="email">

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

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

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

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

  这变成了大写之后,第一个class="BOX"并不会影响到43f6adb633980ac9192e7cca853a28dd16b28748ea4df4d9c2150843fecfba68,而第二个type="EMAIL"还是会正常修饰a27328dffb624fcc9b3ba9152cf79a9d。所以在使用属性选择器的时候,注意大小写问题。


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn