在无序列表中:

<li><span></span> The lazy dog.</li>
<li><span>AND</span> The lazy cat.</li>
<li><span>OR</span> The active goldfish.</li>

允许添加类或样式属性,但不允许填充文本和添加或更改标记。

该页面正在使用Courier New进行渲染。

目标是将span后的文本对齐。

    The lazy dog.
AND The lazy cat.
OR  The active goldfish.

“或”的理由并不重要。

懒惰的动物文本可能被包装在一个额外的元素,但我必须再次检查。


当前回答

您可以使用表来实现,但它不是纯CSS。

<style>
ul{
    text-indent: 40px;
}

li{
    list-style-type: none;
    padding: 0;
}

span{
    color: #ff0000;
    position: relative;
    left: -40px;
}
</style>


<ul>
<span></span><li>The lazy dog.</li>
<span>AND</span><li>The lazy cat.</li>
<span>OR</span><li>The active goldfish.</li>
</ul>

注意,它的显示并不完全像您想要的那样,因为它在每个选项上切换行。然而,我希望这能帮助你更接近答案。

其他回答

<style type="text/css">

span {
  position:absolute;
  width: 50px;
}

</style>

您可以使用此方法为内联元素分配宽度

ul { list-style-type:没有; padding-left: 0 px; } Ul li span { 浮:左; 宽度:40像素; } < ul > <li><span></span>懒狗 <li><span>AND</span>懒猫 <li><span>OR</span>活动的金鱼 < / ul >

就像Eoin说的,你需要把一个非中断空间到你的“空”跨度,但你不能给一个内联元素分配宽度,只有填充/边距,所以你需要让它浮动,这样你就可以给它一个宽度。

有关jsfiddle的示例,请参见http://jsfiddle.net/laurensrietveld/JZ2Lg/

使用HTML 5.0,可以使用<span>或<div>来固定文本块的宽度。

对于<span>,重要的是添加以下CCS行

display: inline-block;

对于空的<span>,重要的是添加&nbsp;空间。

我的代码如下

body { font-family: Arial; font-size:20px; } div { width:200px; font-size:80px; background-color: lime; } div span { display:block; width:200px; background-color: lime; } ul li span { display: inline-block; width: 80px; background-color: yellow; } span.tab { display: inline-block; width: 80px; background-color: yellow; } &lt;DIV&gt; <div class='test'>ABCDEF</div> &lt;SPAN&gt; <div> <span class='test'>ABCDEF</span> </div <br> <ul> <li><span class='tab'>&nbsp;</span> The lazy dog.</li> <li><span class='tab'>AND</span> The lazy cat.</li> <li><span class='tab'>OR</span> The active goldfish.</li> </ul>

PS:我已经定义了标签类,因为ul li span CSS选择器在我的PC上不工作!

不幸的是,内联元素(或具有display:inline的元素)忽略width属性。你应该使用浮动div:

<style type="text/css">
div.f1 { float: left; width: 20px; }
div.f2 { float: left; }
div.f3 { clear: both; }
</style>

<div class="f1"></div><div class="f2">The Lazy dog</div><div class="f3"></div>
<div class="f1">AND</div><div class="f2">The Lazy cat</div><div class="f3"></div>
<div class="f1">OR</div><div class="f2">The active goldfish</div><div class="f3"></div>

现在我看到你需要使用span和list,所以我们需要重写一下这个:

<html><head>
<style type="text/css">
        span.f1 { display: block; float: left; clear: left; width: 60px; }
    li { list-style-type: none; }
    </style>

</head><body>
<ul>
<li><span class="f1">&nbsp;</span>The lazy dog.</li>
<li><span class="f1">AND</span> The lazy cat.</li>
<li><span class="f1">OR</span> The active goldfish.</li>
</ul>
</body>
</html>

ul { list-style-type:没有; padding-left: 0 px; } Ul li span { 浮:左; 宽度:40像素; } < ul > <li><span></span>懒狗 <li><span>AND</span>懒猫 <li><span>OR</span>活动的金鱼 < / ul >