用css实现框内实线

只给一个div标签,用css实现下图所示的框内实线,


框内实线

我使用的方法是"伪元素+三角形",具体原理:在实线框内包含一个小一号的、带颜色的三角形,再在实三角形里包含一个更小一号的、白色的三角形,层层覆盖。

代码如下:

div {
    box-sizing: border-box; /*box大小 = content + padding + border*/
    position: relative;
    left: 100px;
    top: 100px;
    height: 100px;
    width: 100px;
    border: 1px solid black;
}
div::before {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0px;
    height: 0px;
    border-top: 49px solid transparent;/*边框长度 = 2倍border*/
    border-right: 49px solid transparent;
    border-bottom: 49px solid red;
    border-left: 49px solid red;
}
div::after {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0px;
    height: 0px;
    border-top: 48px solid transparent;
    border-right: 48px solid transparent;
    border-bottom: 48px solid white;
    border-left: 48px solid white;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 1标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? CSS盒子模型:由四个属性组成的外边距(margi...
    秦小婕阅读 1,212评论 0 1
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,313评论 0 5
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,868评论 0 6
  • 使用nutz+javax.mail来进行简单的邮件发送操作,没有包含附件的操作,测试的邮箱是公司的邮箱,建议使用网...
    白虎先生阅读 874评论 0 1