8

我在一个无序列表上的项目符号从它们的块元素中分离出来时遇到问题。这是正常的,还是项目符号不被视为文档流的一部分?

在这个小提琴中,我的无序列表有padding-left:0,你可以看到子弹从它们的容器中推出。http://jsfiddle.net/E4WWu/1/

我不得不给无序列表一些填充来“修复”这里看到的问题:http: //jsfiddle.net/E4WWu/

我的问题是:为什么项目符号不包含在<ul>元素中?是我的页面特定的东西,还是我缺少的 HTML/CSS 中的东西?

提前致谢。

HTML

<div class="center-midright-container">
    <div class="infoBox"><span class="filler">Content Goes Here ...</span></div>
    <div class="innerBottom">
        <h3 class="instructHeader">Instructions<br/></h3>
        <ul class="instructText">
            <li>This is a list of instructions and this sentence is meant to be an item of the list. Each item can wrap around to the next line if it is long enough.</li>
            <li>This is a list of instructions and this sentence is meant to be an item of the list. Each item can wrap around to the next line if it is long enough.</li>
            <li>This is a list of instructions and this sentence is meant to be an item of the list. Each item can wrap around to the next line if it is long enough.</li>
        </ul>
    </div>
</div>

CSS

h3 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
h3 {
    color:#fff;
}
ul {
    list-style-image:url('http://oi43.tinypic.com/wb8nz9.jpg');
    padding-left:10px
}
h3.instructHeader {
    text-decoration:underline;
    text-align:center;
}
.center-midright-container {
    margin:0 auto;
    width: 700px;
}
.innerBottom {
    width:80%;
    border: 3px #b51700 ridge;
    background-color:#000;
    padding:10px;
    margin:0 auto;
    margin-top:25px;
}
.instructText {
    text-align:left;
    line-height:1.5;
    color:#fff;
}
/* This is actually filled with content in my page.  Here now just for a filler */
.infoBox {
    height:500px;
    background-color:#000;
    text-align:center;
    position:relative;
}
.filler {
    position:relative;
    top:47%;
    color:#fff;
}
4

2 回答 2

17

问题在评论中回答。感谢@Chad 和@Mr Lister 的帮助。

我没有注意到<ul>元素的默认属性,因为项目符号默认包含在块的外部,而是包含在元素的填充中。当我想到它时,这是有道理的,因为这将允许每个项目符号点的文本精确排列。

添加list-style-position: inside;通过将其放置在元素内部而不是填充中来修复它。

谢谢!

于 2013-09-25T13:54:08.903 回答
0

使文本包裹项目符号,list-style-position: insideli通常不是您想要的。

我相信,确保左侧有足够的边距/填充ul来包含子弹是最好的解决方案。

于 2019-10-26T20:28:41.523 回答