css - 如何给伪元素: before?加边框

标签 css

下午好,请告诉我。我制作了一个 block , block 的顶部有一个突出的 Angular 。在整个 block 上,我有一个 Angular 是我使用 box-shadow 制作的。我怎样才能为伪元素制作这样的框架 (.comment_text:before)

enter image description here

.comment{
  margin-top: 20px;
  padding: 0px 20px 0px 20px;
}
.comment_text{
  max-width: 680px;
  background-color: #f1fbff;
  padding: 10px;
  margin-top: 15px;
  color: #FFF;
  position: relative;
  font-size: 12px;
  line-height: 20px;
  -webkit-box-shadow: 0px 0px 0px 1.5px #cfcfcf;
  -moz-box-shadow: 0px 0px 0px 1.5px #cfcfcf;
  box-shadow: 0px 0px 0px 1.5px #cfcfcf;
  color: #333333;
  font-size: 12pt;
  font-family: Arial, sans-serif;
}
.comment_text:before {
  content: "";
  display: block;
  border-bottom: 15px solid #f2fbff;
  border-right: 20px solid transparent;
  border-left: 0px solid transparent; 
  position: absolute;
  top: -15px;
  left: 22px;
}
<div v-for='comment in comments' class="comment">
  <div class="comment_text">Some Text</div>
</div>

最佳答案

你可以创建另一个 psudo 元素 (::after) 并让它变得更大。添加类似于您的 Div 边框的颜色。

    .comment{
    margin-top: 20px;
    padding: 0px 20px 0px 20px;
  }
  .comment_text{
    max-width: 680px;
    background-color: #f1fbff;
    padding: 10px;
    margin-top: 15px;
    color: #FFF;
    position: relative;
    font-size: 12px;
    line-height: 20px;
    -webkit-box-shadow: 0px 0px 0px 1.5px #cfcfcf;
    -moz-box-shadow: 0px 0px 0px 1.5px #cfcfcf;
    box-shadow: 0px 0px 0px 1.5px #cfcfcf;
    color: #333333;
    font-size: 12pt;
    font-family: Arial, sans-serif;
  }
  .comment_text:before {
    content: "";
    display: block;
    border-bottom: 15px solid #cfcfcf;
    border-right: 20px solid transparent;
    border-left: 0px solid transparent; 
    position: absolute;
    top: -15px;
    left: 22px;
  }
  .comment_text:after {
    content: "";
    display: block;
    border-bottom: 18px solid #f2fbff;
    border-right: 20px solid transparent;
    border-left: 0px solid transparent; 
    position: absolute;
    top: -12px;
    left: 24px;
  }
<div v-for='comment in comments' class="comment">
      <div class="comment_text">{{ comment.text }}</div>
    </div>

关于css - 如何给伪元素: before?加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57704030/

相关文章:

html - 如何将 svg 中的线性渐变作为 div 的背景色?

html - 调整图像大小以在CSS中自动调整div

html - 如何使 div 响应并垂直堆叠它们?

css - 更改 div 的高度并设置绝对位置中断 Bootstrap 响应

javascript - 在 JQuery 中,如何在用户单击从 DOM 中删除元素后获取元素的 offset().top

html - 嵌套元素的 WCAG 可访问性问题

javascript - 我怎样才能防止我的主播在我的屏幕上跳来跳去?

html - Angular 8 Accordion ,具有动态数据,无需使用 Bootstrap /Angular Material

html - 响应式菜单不适用于 Firefox

css - 窗口大小更改时 Div 重叠