css3 模拟圆角outline

  今天网上看到张鑫旭大神的一篇模拟圆角outline的文章,觉得很强大,很神奇,很流弊,所以赶紧记录下来,供大家分享,学习!

  outline有个特性就是它不会占据空间,这是个很强大的属性,但是一般的outline都是方形的,那怎么才能实现绚丽的圆角outline效果了?我们都知道css3中有border-radius属性可以设置圆角,但是如果配合border和border-radius是会增加盒子的大小的!

这时我们就需要用到box-shadow和border-radius组合来模拟圆角的outline效果了!废话不多说,先上代码:

  

 1 <!DOCTYPE html>
 2     <html>
 3      <head>
 4       <style type="text/css">
 5           div{margin:0;padding:0;}
 6          div.outlineRadius{width:250px;height:250px;line-height:250px;text-align:center;}
 7           .outlineRadius{border-radius:1px;box-shadow:0 0 0 25px #00438a;}
 8      </style>
 9      </head>
10      <body>
11      <div class="outlineRadius">圆角的outline效果盒子</div>
12      </body>
13 </html>

运行效果如下:

  大家可以在chrome的调试工具中看此盒子的大小还是height:250px;

  为什么能达到这效果?因为盒子有1px的圆角,而盒子的阴影水平便宜为0,垂直便宜为0,阴影模糊距离为0,想象下这盒子其实看起来是没有阴影的,因为盒子的阴影刚好是盒子的大小,然而第四个参数根据w3c官方解释为阴影的尺寸,所以第四个

参数扩展了盒子的阴影,又因为盒子有1px的圆角所以就达到了模拟圆角outline的效果啦!是不是很棒啊!

时间: 2024-10-09 19:27:41

css3 模拟圆角outline的相关文章

移动端H5 css3模拟边框最新研究(超实用) by FungLeo

移动端H5 css3模拟边框最新研究(超实用) by FungLeo 前言 在之前写的一篇博文<移动端H5的一些基本知识点总结 第五节 边框的处理>中,我提到,可以使用 box-shadow:0 0 0 1px #ddd; 这样的方式,来模拟边框.当然,博文中的内容并没有错,但是却有一定的局限性.因此,今天在这里,纠正和完善我之前的博文中的缺陷. 为什么要模拟边框,而不是直接写边框? 因为边框要计算盒子模型.而我们在移动端可能使用的是自适应布局的方式.这样计算边框很费劲. 因此,使用模拟边框的

css3模拟jq点击事件

还是这个梗,收好冷.今天是一个css3模拟jq点击事件,因为我发现,css3中没有类似于,js的点击事件,那么,可不可以仿照 jq的效果,类似的做一个呢?主要用到,input里面的radio 单选按钮,然后后面跟一个a标签,让radio覆盖在a上,那为什么不直接 把 a放在radio上面呢?因为选择器 + 好选择嘛,用radio的功能,a来修饰按钮样式,再把radio 隐藏,这里要用opacity(透明度) 这就是,主要原理! 上视图吧 <!DOCTYPE html> <html>

CSS3模拟实现iphone返回按钮效果

CSS3模拟实现iphone返回按钮效果:大家知道现在CSS3可以实现各种漂亮的效果,以前只有图片可以实现的效果,现在CSS3实现起来难度也不是太高.下面分享一段使用CSS3实现的iphone返回按钮的效果,其实这种CSS3代码根本就不用分析,只要给出代码实例,自己就完全可以看明白,当然你要首先知道各个属性的作用是什么,代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q

CSS3的圆角Border-radius

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS3的圆角Border-radius</title> <style> body{margin: 0;padding: 100px;} .example{ width: 150px; height: 80px; border: 20px sol

CSS3模拟IOS滑动开关

前言 H5站点需要IOS滑动按钮的效果,想了想似乎CSS3能搞起,就折腾出来了...挺简单的..请看注释 效果 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS3模拟IOS开关</title> <style type="text/css" media="sc

CSS3模拟侧滑菜单

在APP应用上,常见的一种导航方式是侧滑导航,效果类似于这样: 用CSS3可以对其进行模拟,代码如下: HTML: <nav> <div id="toggleMenu"> <span id="hide"></span> <span id="show"></span> </div> <ul id="list"> <li>

CSS3图片圆角+阴影特效

使用CSS3技术编写的图片圆角及阴影特效代码,与一般的图片阴影有些不一样,用CSS直接生成阴影,当然要比使用图片来修饰要好得多,图片的加载可能会影响到网页的加载,CSS就不会哦. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&q

超简单CSS3实现圆角、阴影、透明效果

CSS实现圆角,阴影,透明的方法很多,传统的方法都比较复杂,用CSS3就方便很多了,虽然现在各浏览器对CSS3的支持还不是很好,但不久的将来CSS3就会普及. 1.圆角 CSS3实现圆角有两种方法. 第一种是背景图像,传统的CSS每个元素只能有一个背景图像,但是CSS3可以允许一个元素有多个背景图像.这样给一个元素添加4个1/4圆的背景图像,分别位于4个角上就可以实现圆角了. Html代码   .box { /* 首先定义要使用的4幅图像为背景图 */ background-image: url

CSS3(1)---圆角边框、边框阴影

CSS3(1)---圆角边框.边框阴影 CSS3可以简单理解成是CSS的增强版,它的优点在于不仅有利于开发与维护,还能提高网站的性能. 一.圆角边框 圆角在实际开放过程中,还是蛮常见的.以前基本是通过背景图片做的,有了CSS3后可以使用简单的属性搞定,可以通过border-radius设置元素的圆角半径. 1.圆角边框语法 圆角边框属性 : border-radius 属性值 border-radius: 属性1,属性2,属性3,属性4 # 四个值:第一个值为左上角,第二个值为右上角,第三个值为