【问题标题】:text in border of a div tagdiv 标签边框中的文本
【发布时间】:2017-03-07 06:52:02
【问题描述】:

我知道这是一个老问题,但我想知道将文本放入 div 标签边框的最佳方法是什么。这就是我所拥有的

.componentWrapper {
  border: solid cadetblue;
  border-radius: 40px;
  padding: 10px;
  width: 95%;
}
<div class='componentWrapper'>Text inside div </div>

我想在 div 标签的边框中添加一个标题。我知道一种选择是使用字段集,但我不喜欢这种方法。另一种方法是放置一个框并将其向上移动并设置背景颜色,但我认为当您在页面上设置不同的背景颜色时这会失败。

什么是最好的解决方案?

【问题讨论】:

  • 我从内部span 和伪元素开始...... 20 分钟后。我停了下来,因为这将是一个疯狂的像素匹配,所以你有 2 个(合理的)选项,fieldset 或使用 SVG 作为边框/文本...对于跨浏览器支持我推荐 fieldset,如我看不出任何理由不这样做,甚至一个人想要/喜欢的理由都不是足够好的理由,只需按照它们的意图使用元素,否则你最终会得到无效的代码无处不在
  • 但这不是表单,这就是为什么我要避免使用字段集。
  • 它的有效没有:*.com/questions/9812898/…

标签: css border


【解决方案1】:

我建议使用position:absolute

.componentWrapper {
  border: solid cadetblue;
  border-radius: 40px;
  padding: 15px 10px 10px;
  width: 95%;
}

.componentWrapper .header {
  position:absolute;
  margin-top:-25px;
  margin-left:10px;
  color:white;
  background:cadetblue;
  border-radius:10px;
  padding:2px 10px;
}
<div class='componentWrapper'><div class="header">Headline</div>Text inside div </div>

【讨论】:

    最近更新 更多