css - 无法正确附加伪内容
问题描述
我希望创建一个这样的盒子
使用以下 CSS 规则,但我得到了这个
.box {
width: 50px;
color: #303030;
background: #FFF;
border: 2px solid #56B665;
padding: 8px 3px 9px;
text-align: center;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.box::after {
content: "";
border-color: #FFF transparent;
border-style: solid;
border-width: 0 7px 7px;
margin-top: -5px;
width: 1px;
margin-left: auto;
margin-right: auto;
display: block;
position: relative;
}
.box::before {
content: "";
border-color: #56B665 transparent;
border-style: solid;
border-width: 0 8px 8px;
width: 1px;
margin-left: auto;
margin-right: auto;
display: block;
position: relative;
}
<div class="container" style="padding:20px">
<div class="box">100</div>
</div>
你能告诉我如何解决这个问题吗
解决方案
您想要的是根据您的.box
.
为此box
需要position:relative
和你的三角形position:absolute
一旦你把它凹进去了,你可以使用以下方法根据你的盒子位置对齐三角形:
- 最佳
- 剩下
- 底部
- 正确的
为了更好地理解,top:0
并且left:0
将是您框的左上角。
希望这可以帮助 :)
.box {
width: 50px;
color: #303030;
background: #FFF;
border: 2px solid #56B665;
padding: 8px 3px 9px;
text-align: center;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
position: relative;
}
.box::after {
content: "";
border-color: #FFF transparent;
border-style: solid;
border-width: 0 7px 7px;
margin-top: -5px;
width: 1px;
margin-left: auto;
margin-right: auto;
display: block;
position: absolute;
top: -2px;
left: 16px;
}
.box::before {
content: "";
border-color: #56B665 transparent;
border-style: solid;
border-width: 0 8px 8px;
width: 1px;
margin-left: auto;
margin-right: auto;
display: block;
position: absolute;
top: -10px;
left: 15px;
}
<div class="container" style="padding:20px">
<div class="box">100</div>
</div>
推荐阅读
- javascript - 对 js 中的原型链行为感到困惑
- aws-appsync - 获取 appsync 解析模板中的 count 值
- javascript - ChartJS - 雷达图表选项不起作用
- javascript - ReactJS 货币转换器 :: 如何仅显示选定的货币
- reactjs - 循环作为道具发送的数组时,React 不会渲染子组件数据
- flutter - 是否可以像 HTML 一样使 Flutter 中的文本高亮显示?
- ios - 如何在 Swift 中设置自定义字体的字体粗细
- google-cloud-platform - GCP 外部 IP 地址费用
- .net - 如果没有创建新线程,使 api 方法异步有什么好处?
- excel - vba dateadd 方法让我发疯