HTML+CSS入门 10分钟料及几个CSS的黑科技
沉沙 2018-06-15 来源 : 阅读 1047 评论 0

摘要:这里的黑科技其实就是一些CSS中不怎么为人所知但在解决某些问题的时候很溜的属性。希望阅读本篇文章以后大家有所收获,帮助大家对HTML+CSS的理解更加深入。

这里的黑科技其实就是一些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元素。


伪类设置单标签

下面的示例是实现对<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"> 。所以在使用属性选择器的时候,注意大小写问题。


本文由职坐标整理发布,欢迎关注职坐标WEB前端HTML/CSS频道,获取更多HTML/CSS知识!


本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程