css outline实践研究
2016-09-25 20:56
197 查看
outline具有和border很相似的属性,但多少又有些区别,就是因为这些区别才让它闪闪发光,先目睹一下。
<style> div{ width:100px; height:100px; background-color:red; outline:10px solid #ccc; } </style> <div></div>
好像和“border”没啥区别,那么看下面这张图
它的宽和高还是100px,并没有增加边框的宽度。
也就是说:
outline不占据布局空间,不会影响元素的尺寸,如果是这样的话,那可是可以解决很多问题啊,比如一个图片默认没有边框,hover的时候有一个1px的边框,那么如果不做处理盒子会抖动一下,解决这个问题可能就是默认给一个白色的边框或者给个padding,但是有了
outline就好办了,直接写就好了。
来研究一下它是不是真的不据布局空间。
它把下面的文字盖住了,但并没有改变元素的布局方式,这足够说明它确实是不占位置的。
outline还有一个强大的属性叫
outline-offset可以设置边框的偏移量。
<style> div{ margin:100px; width:100px; outline:1px solid red; outline-offset:10px; } </style> <div>追梦子</div>
值也可以是负的。
利用
outline制作炫酷效果
代码如下:
<style> div{ margin:100px; display:inline-block; position:relative; } div::after{ content:''; position:absolute; left:-50px; top:-100px; width:100%; height:100%; outline:0px solid #fff; outline-offset:15px; transition:all .5s; } div:hover::after{ left:0px; top:0px; outline:1px solid currentColor; outline-offset:3px; } </style> <div>追梦子</div>
可以同时设置“border”和“outline”
<style> div{ margin:100px; width:100px; border:1px solid red; outline:1px solid red; outline-offset:10px; } </style> <div>追梦子</div>
不过值得注意的是,outline不会继承border-radius。
outline结合
offset制作十字架
<style> div{ margin: 0 auto; width: 100px; height: 100px; background-color: red; outline: 34px dotted #fff; outline-offset: -33px; } </style> <div></div>
<style> div{ margin: 0 auto; width: 100px; height: 100px; background-color: red; position:relative; } div::after{ content:''; width:100%; height:100%; position:absolute; left:0; top:0; outline: 31px outset #fff; outline-offset: -80px; } </style> <div></div>
相关文章推荐
- CSS技能汇总,研究及实践
- 纯CSS实现JS效果研究
- CSS命名实践
- css条件注释理论及实践源文件
- Docker监控方案(TIG)的研究与实践之Influxdb
- 20145314郑凯杰《网络对抗技术》文件绑定技术研究与实践 总纲
- 页面可用性之outline轮廓外框的一些研究【转】
- CSS outline:none
- 研究一下blog的css,改成了现在这个样子^_^
- CSS深入研究:那些年我们清除过的浮动[转]
- selenium实践-用css去定位元素
- 前端代码标准最佳实践:CSS
- 分布式消息队列研究及实践
- 实践:VIM深入研究(20135301 && 20135337)
- Web动效研究与实践
- CSS深入研究:display的恐怖故事解密(1) - inline-block[转]
- CSS(十二) 宽度布局实践
- css背景色半透明的最佳实践
- ReactMix:基于HTML+JS+CSS写APP的最佳实践
- 云场景实践研究第5期:朗新科技