CSS 溢出不服从填充
CSS overflow not obeying padding
我有一组需要设置样式的 HTML 元素,我无法以任何方式更改其结构(是的,我知道)。
HTML 有一个包含两个嵌套跨度的 div。 div 有填充,溢出被隐藏。 div 的宽度以编程方式设置并作为内联样式应用。
我希望剪裁内部跨度中包含的文本,但仍保留包含 div.
中指定的右侧填充
经过一些研究,似乎标准方法是使用第二个嵌套 div,但是,正如我提到的,我无法更改 HTML 的结构。
目前我有:
<!-- This is what I have to work with (I can't change the structure of this HTML!) -->
<div class="c1" style="width: 100px;">
<span class="c1-inner">
<span class="c1-inner-2">
122333444455555666666777777788888888999999999
</span>
</span>
</div>
<!-- This is how I want the HTML above to display -->
<div class="c2" style="width: 100px;">
<div class="c2-inner">
122333444455555666666777777788888888999999999
</div>
</div>
由以下 CSS 设计风格:
.c1 {
border: 1px solid red;
border-radius: 4px;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
overflow: hidden;
}
.c1-inner {
// No relevant styles here yet
}
.c1-inner-2 {
// No relevant styles here yet
}
.c2 {
border: 1px solid red;
border-radius: 4px;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c2-inner {
overflow: hidden;
}
我需要设置顶部 "button" 的样式,使其看起来像仅使用 CSS 的第二个。我已经达到 CSS 技能的极限,非常感谢任何帮助。
一个简单的修复。最重要的一点:您可以使跨度具有块显示值而不是内联显示值,这是它的默认值。
这是您需要的相关 CSS 和一个有效示例:
.c1 {
border: 1px solid red;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c1-inner {
overflow: hidden;
display: block;
}
.c2 {
border: 1px solid red;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c2-inner {
overflow: hidden;
}
We want this<br>
<!-- This is what i Have to work with -->
<div class="c1" style="width: 100px;">
<span class="c1-inner">
<span class="c1-inner-2">
122333444455555666666777777788888888999999999
</span>
</span>
</div>
<!-- This displays how i want the html above to display -->
<br>
to look like this<br>
<div class="c2" style="width: 100px;">
<div class="c2-inner">
122333444455555666666777777788888888999999999
</div>
</div>
<br>
but cannot change the structure of the html!
我有一组需要设置样式的 HTML 元素,我无法以任何方式更改其结构(是的,我知道)。
HTML 有一个包含两个嵌套跨度的 div。 div 有填充,溢出被隐藏。 div 的宽度以编程方式设置并作为内联样式应用。
我希望剪裁内部跨度中包含的文本,但仍保留包含 div.
中指定的右侧填充经过一些研究,似乎标准方法是使用第二个嵌套 div,但是,正如我提到的,我无法更改 HTML 的结构。
目前我有:
<!-- This is what I have to work with (I can't change the structure of this HTML!) -->
<div class="c1" style="width: 100px;">
<span class="c1-inner">
<span class="c1-inner-2">
122333444455555666666777777788888888999999999
</span>
</span>
</div>
<!-- This is how I want the HTML above to display -->
<div class="c2" style="width: 100px;">
<div class="c2-inner">
122333444455555666666777777788888888999999999
</div>
</div>
由以下 CSS 设计风格:
.c1 {
border: 1px solid red;
border-radius: 4px;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
overflow: hidden;
}
.c1-inner {
// No relevant styles here yet
}
.c1-inner-2 {
// No relevant styles here yet
}
.c2 {
border: 1px solid red;
border-radius: 4px;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c2-inner {
overflow: hidden;
}
我需要设置顶部 "button" 的样式,使其看起来像仅使用 CSS 的第二个。我已经达到 CSS 技能的极限,非常感谢任何帮助。
一个简单的修复。最重要的一点:您可以使跨度具有块显示值而不是内联显示值,这是它的默认值。
这是您需要的相关 CSS 和一个有效示例:
.c1 {
border: 1px solid red;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c1-inner {
overflow: hidden;
display: block;
}
.c2 {
border: 1px solid red;
background-color: #c0c0c0;
padding: 0 13px 0 13px;
}
.c2-inner {
overflow: hidden;
}
We want this<br>
<!-- This is what i Have to work with -->
<div class="c1" style="width: 100px;">
<span class="c1-inner">
<span class="c1-inner-2">
122333444455555666666777777788888888999999999
</span>
</span>
</div>
<!-- This displays how i want the html above to display -->
<br>
to look like this<br>
<div class="c2" style="width: 100px;">
<div class="c2-inner">
122333444455555666666777777788888888999999999
</div>
</div>
<br>
but cannot change the structure of the html!