包含div的文本制作周围的奇怪填充太大

时间:2013-09-19 22:01:22

标签: css html text padding

我一直在研究和努力解决这个奇怪的问题。我有一个div应该持有一些文本。这个div应该能够用该文本调整大小,这样如果有两行文本,div就会变高,等等。所有看起来都很好,但由于某种原因,在文本的顶部添加了某种填充并在文本的底部。我找不到导致填充的原因,我真的想让div更贴合文本。这是我正在谈论的图像:

http://i.imgur.com/ZblaLJX.png

浅蓝色框的高度应该更短,以便更贴近文本。这是我的这个div的CSS代码:

.captionCSS {
    max-width:70%;
    margin-top:10px; 
    margin-bottom:20px; 
    padding-left:5px; 
    padding-right:5px;
    padding-top:0px; 
    padding-bottom:0; 
    background-color:#aef7f8; 
    overflow:hidden; 
    color:black; 
}

我搞乱了所有的边距和填充,将它们设置为零,然后再将它们设置回来,似乎没有任何效果。行高是从另一个div继承的,是18px,而字体大小是12px,我尝试降低行高,但它对顶部和底部填充/间隙没有任何影响。

此外,当文本占用两行时,它会变得更糟,因为侧面有一些额外的填充,我想摆脱:

http://i.imgur.com/Ecdxdtq.png

所以是的,这是我的问题。理想情况下,我希望从div的边缘到文本的顶部有5px的间隙,所以如果还有,请告诉我!非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以尝试以下操作。

如果您的代码与此类似:

<p>Some text with <span class="captionCSS">highlighted text</span>.</p>

应用以下CSS规则:

p {
    background-color: gray;
    padding: 5px;
}
.captionCSS {
    max-width:70%;
    padding: 0 5px;
    background-color:#aef7f8; 
    display: inline-block;
    line-height: 1.00;
}

如果将display: inline-block设置为标题包装,则行高值将产生一些影响。

line-height: 1.00强制行高与元素的font-size相同。如果您将该值设置为小于1,您将获得更紧密的拟合,但您也可以根据字体剪辑某些字符的上升和下降。

请参阅演示:http://jsfiddle.net/audetwebdesign/2cyaF/

答案 1 :(得分:0)

没有HTML我不能确定,但​​我的第一个猜测是文本具有已经具有样式规则的父块级元素。 (例如:<hX><p>

您可以通过执行以下操作来清除这些样式:

h1,h2,h3,p{
    padding:0;
    margin:0;
}

以下是使用您的样式的一些示例案例:http://jsfiddle.net/JTrWL/