【发布时间】:2016-11-10 16:40:17
【问题描述】:
我正在尝试塑造导航包装的底部边框,以便在其中心弹出一个三角形(例如下图)。
有没有一种方法可以通过编辑/转换导航包装器关于底部边框的 CSS 来创建这个形状?
三角形具有与导航包装器相同的不间断背景图案和底部边框阴影,所以我认为这应该通过 CSS 转换来完成,而不是在边框上添加 CSS/图像形状。
IE:
谢谢!
【问题讨论】:
标签: css border transform css-transforms
我正在尝试塑造导航包装的底部边框,以便在其中心弹出一个三角形(例如下图)。
有没有一种方法可以通过编辑/转换导航包装器关于底部边框的 CSS 来创建这个形状?
三角形具有与导航包装器相同的不间断背景图案和底部边框阴影,所以我认为这应该通过 CSS 转换来完成,而不是在边框上添加 CSS/图像形状。
IE:
谢谢!
【问题讨论】:
标签: css border transform css-transforms
您可以为此使用 CSS 伪元素 :before 和 :after。请看下面的sn-p:
.nav-bar {
display: flex;
justify-content: center;
align-items: center;
height: 100px;
background: #33b5e5;
color: #fff;
font-size: 50px;
font-weight: 700;
border-bottom: 6px solid #8ACEE9;
position: relative;
}
.nav-bar:after {
content: '';
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-top: 30px solid #33b5e5;
}
.nav-bar:before {
content: '';
position: absolute;
bottom: -40px;
left: 50%;
transform: translateX(-50%);
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-top: 40px solid #8ACEE9;
}
<div class="nav-bar">
Navbar
</div>
希望这会有所帮助!
【讨论】: