CSS的黑科技

原创 前端李李 随笔 html/css 6681阅读 2016-11-05 15:05:10 举报

 这里的黑科技其实就是一些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中有几个常见的单标签:<br> ,<hr>等。
  下面的示例是实现对<hr>的修饰。
hr:before {
content: "♪♪";
}

hr:after {
content: " This is an <hr> element";
}
  没错,关键就是使用:before和:after这两个伪类。在这里,顺便说一点就是,其实你还可以用这两个伪类来修饰<meta> 和 <link>,不过这个前提是,你把这两个的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"并不会影响到<div class="box"></div>,而第二个type="EMAIL"还是会正常修饰<input type="email">。所以在使用属性选择器的时候,注意大小写问题。

觉得对您有用的话记得给李李点个赞 么么哒。

评论 ( 31 )
最新评论
18855030355 2018-09-13 17:15:58 31F

0.0 呵呵

士力架 2016-11-14 16:14:45 30F

受教了

无颜 2016-11-12 16:24:18 29F

能留个微信吗?

幻灭 2016-11-12 16:09:50 28F

收藏了。

岁月如歌 2016-11-12 15:58:10 27F

能私聊你吗? 李李

3060133783 2016-11-10 17:09:44 26F

有用 谢谢 鉴定完毕。

天生有范 2016-11-10 16:59:08 25F

前端李李 23F 2016-11-09 10:35:22 24F

冰冰2013 2016-11-09 10:31:31 23F

学习啦

极乐网 16F 2016-11-08 19:22:06 22F

我很年轻呢~~~

前端李李 20F 2016-11-08 10:59:14 21F

Corrupt 2016-11-08 10:48:12 20F

这很黑科技! lee

hugeannex 13F 2016-11-07 15:24:02 19F

不关我的事。。。

前端李李 11F 2016-11-07 14:42:38 18F

我就是妹子

前端李李 7F 2016-11-07 14:41:50 17F

你起个头。

前端李李 15F 2016-11-07 14:40:19 16F

叔叔 咱们不约。

极乐网 10F 2016-11-07 14:10:24 15F

还问一句,妹纸,约不约?

lut09010909 5F 2016-11-07 13:48:56 14F

javascript 代码

lut09010909 6F 2016-11-07 13:45:31 13F

不对,我是不是把你要说的话给说了,大神?

lut09010909 6F 2016-11-07 13:44:47 12F

简单粗暴点。省事