CSS:div的文本内容溢出到填充中是否正确?

Nig*_*ton 33 css hidden overflow padding

我期望div内的填充将保持清除任何文本.但是给定以下html/css,内容文本溢出到填充中;

<div class="foo">helloworld</div>

.foo {
  float: left;
  overflow: hidden;
  background: red;
  padding-right: 10px;
  width: 50px;
  border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)

文本溢出50px大小并进入10px填充.这是设计的吗?如果是这样看起来相当愚蠢 - 填充不是填充,如果它有东西!或者我只是做错了什么?

此致,CSS新手.

Bra*_*bby 143

这是正确的行为.overflow: hidden将剪辑扩展到外的内容.填充框内,因此如果需要,内容将很快溢出到该空间.

CSS Box模型
(资源)

为了获得你似乎想要的效果,一个解决方案是将div.foo包装在另一个div中,然后在那个上设置背景,如下所示:

<div class="foowrapper">
    <div class="foo">purrrrrrrrr</div>
</div>

.foo {
    overflow: hidden;
    width: 40px;
}
.foowrapper {
    padding-right: 10px
    background: red;
    border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)

  • 猫样式表 (2认同)

wil*_*age 5

这是因为您已将div的宽度约束为50px,导致文本溢出到填充中.删除该宽度语句,div将扩展和收缩其中的txt大小.

<div class="foo">helloworld</div>

.foo {
  float: left;
  overflow: hidden;
  background: red;
  padding-right: 10px;

  border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)

希望对你有所帮助.