CSS 3中细线边框如何实现?_html/css_WEB-ITnose
1、做一张高2像素(1像素有颜色1像素没颜色)的图片做背景,bg-size设置宽100%,高1px
.line li{
background: url('line.png') left top no-repeat;
background-size: 100% 1px;
background-position: left bottom;}
这种方法有一个问题,就是左右边框描边虽然可以做旋转(transform) ,但如果要是边框更换颜色那岂不是还要再做图片了;
2、通过上面的方法,我们也很容易联想到线性渐变(linear-gradient),具体实现如下:
.line li{ border: none;
background-image: -webkit-linear-gradient(#222 50%,transparent 50%);
background-image: -moz-linear-gradient(#222 50%,transparent 50%);
background-image: -o-linear-gradient(#222 50%,transparent 50%);
background-image: linear-gradient(#222 50%,transparent 50%);
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom;}
- linear-gradient
- linear-gradient
- linear-gradient
这种方法仍然不够完美,改变描边位置(left,top,right,bottom)时需要修改参数,如 left描边需要改变:
background-image: -webkit-linear-gradient(left ,transparent 50%,#222 50%);
background-size: 1px 100%;
background-position: left;
3、那还有什么方法可以解决细线边框问题呢?我们不妨可以试试了CSS3阴影(box-shadow),用阴影做描边然后用伪类把多余的给遮罩着:
.line li{box-shadow: inset 0 -1px 1px #000;background: #fff;margin-left: -1px;margin-bottom: 10px;position: relative;}
.line li::after{content:'';position: absolute;top:0;left: 0px;right: 0px;bottom: 0px;border: 1px solid #fff;}
- box-shadow
- box-shadow
- box-shadow
虽然,小编分享的几种方法都还存在瑕疵,具体使用哪种方法,你可以根据你的情况而定。如果你有更完美的解决方案的话,也欢迎分享出来,大家一起学习,一起进步。
上一篇: php树型类实例_PHP
下一篇: Web页面向后台提交数据的方式和选择
推荐阅读
-
求解如何在表格边框中设置颜色_html/css_WEB-ITnose
-
jquery+div如何实现frameset效果?_html/css_WEB-ITnose
-
禁止切换页面如何实现?类似在线考试系统防作弊的_html/css_WEB-ITnose
-
CSS如何实现段落首字符缩进两个字符效果_html/css_WEB-ITnose
-
CSS如何实现禁止选中文本_html/css_WEB-ITnose
-
css如何将div实现全屏水平垂直居中_html/css_WEB-ITnose
-
求教如何设置圆角边框有多种颜色?_html/css_WEB-ITnose
-
求教如何设置圆角边框有多种颜色?_html/css_WEB-ITnose
-
css如何实现li元素在父元素中平均分布效果_html/css_WEB-ITnose
-
如何实现 浏览器版本低 弹出错误页面_html/css_WEB-ITnose