如何在div中的元素上使用忽略填充

时间:2013-10-25 10:25:56

标签: css positioning padding

我在div中垂直交替显示文字和<hr>,我在div中添加了padding-left,但我不希望文字之间的水平规则受到填充的影响。

有没有办法排除它们?

.menuoptions {
    height:30px;
    width:225px;
    color:#666;
    line-height:30px;
    font-weight:bold;
    padding-left:10px;
}

我尝试了.menuoptions hr {...}并添加了负填充,但不出意外,它没有用。

示例:Fiddle

5 个答案:

答案 0 :(得分:3)

您不能将它们本身排除,而否定填充是禁忌,但您可以在<hr>上使用负边距

See updated fiddle

答案 1 :(得分:1)

您可以使用否定的margin-left

.menuoptions hr {
    margin-left: -10px;
}

JSFiddle

答案 2 :(得分:1)

这是因为您没有重置自定义属性。与<p><input>等一样,默认情况下会有一些填充和边距,当您添加属性时,它会相应地填充。

如果浏览器出现此类不一致的情况,建议您使用CSS重置Eric Mayer Reset

这会规范您的所有差异,并使您的网页在所有浏览器中具有统一的一致性。

守则:

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

希望这有帮助。

答案 3 :(得分:0)

.menuoptions hr {
 margin-left:-10px
}

答案 4 :(得分:0)

或者您可以使用ul,这是正确的方法:

<ul>
    <li>Firewalls</li>
    <li class="sep"></li>
    <li>Security In Education</li>
    <li class="sep"></li>
    <li>SSL VPN Encryption</li>
    <li class="sep"></li>
    <li>Wireless Access Points</li>
</ul>

CSS:

ul {
    list-style:none;
    margin:0;
    padding:0;
    color:#666;
    font-weight:bold;
    width: 300px;
}
ul > li {
    padding:5px;
}
ul > li.sep {
    height:1px;
    border-bottom: 1px solid #aaa;
    padding:0;
}

fiddle