如何确保包含span的div的大小为div

时间:2018-06-07 12:16:20

标签: html css

我想确保包含 span div span 的大小,而不管中使用的字体是什么跨度

简单示例:

    .boxName {
        display: block;
        position: relative;
        border: 1px solid yellow;
        min-height: 0%;
    }
    
    span {
        background-color: black;
        color: white;    
        font-size: 1vw;
    }
    <div class="boxName">
     <span>title</span>
    </div>

Demo

如果从 span 中删除 font-size ,您将 div 完全适合 span 。修改 span font-size 会改变 div 的大小,这是不可理解的(对我而言)。

有关如何确保 div 大小为 span 的任何建议吗?

谢谢! 马尔钦

6 个答案:

答案 0 :(得分:0)

将字体大小添加到div而不是span

.boxName {
  display: block;
  position: relative;
  border: 1px solid yellow;
  min-height: 0%;
  font-size: 1vw;
}

span {
  background-color: black;
  color: white;
  
}
<div class="boxName">
  <span>title</span>
</div>

答案 1 :(得分:0)

width:min-content;添加到您的div

.boxName {
    display: block;
    position: relative;
    border: 1px solid yellow;
    min-height: 0%;
    width:min-content;
}

答案 2 :(得分:0)

这是因为您在block属性上使用display值。

更改为inline-block

.boxName {
    display: inline-block;
    position: relative;
    border: 1px solid yellow;
    min-height: 0%;
}

span {
    background-color: black;
    color: white;    
    font-size: 1vw;
}

.boxName {
  display: inline-block;
  position: relative;
  border: 1px solid yellow;
  min-height: 0%;
}

span {
  background-color: black;
  color: white;
  font-size: 1vw;
}
<div class="boxName">
  <span>title</span>
</div>

答案 3 :(得分:0)

display: block;设置为spanwidth: fit-content;

&#13;
&#13;
.boxName {
    display: block;
    position: relative;
    border: 1px solid yellow;
    min-height: 0%;
}

span {
    width: fit-content;
    background-color: black;
    color: white;
    font-size: 1vw;
    display: block;
}
&#13;
<div class="boxName">
 <span>title</span>
</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

在方框div上添加display: flex;

 
.boxName {
display: flex;
position: relative;
border: 1px solid yellow;
min-height: 0%;
}

span {
background-color: black;
color: white;    
font-size: 3vw;
}
<div class="boxName">
 <span>title</span>
</div>

答案 5 :(得分:0)

display: flex用于div .boxName,然后它将完美运行。而且也不需要min-height: 0%;

Fiddle

您可以从这里获得更多想法https://stackoverflow.com/a/47439859/3098803