我编写了以下代码,包括div和span。我希望div中的span有不同的颜色,但它似乎不起作用..这是html代码:
<div class="menu">
<p class="menuHeader">Menu</p>
<ul class="menuList">
<li><a href="">Inspiration</a></li>
<li><a href="">Motivation</a></li>
<li><a href="">Decision</a></li>
<li><a href="">Solution</a></li>
<li><a href="">Action</a></li>
</ul>
<span id="decorationBox">
<br/>
</span>
</div>
在CSS中,我将div'菜单'的背景颜色设置为深蓝色,并将span'decorationBox'的背景颜色设置为浅蓝色。我也尝试使用更高的z-index将跨度提升到前面,但它不会显示。是因为跨度在div内吗?
答案 0 :(得分:3)
<span>
中没有任何“真实”内容,因此不会显示(至少使用默认的CSS设置)。
将display
设置为block
会使宽度适合父宽度:
span#decorationBox {
background-color: red;
/* the default setting is "display: inline" for <span>s */
display: block;
}
答案 1 :(得分:1)
大多数CSS属性无法正常使用span。尝试使用div。
答案 2 :(得分:0)
这是因为你的跨度宽度是0px。将内容放在跨度中,您将看到。使用br
标记,您在跨度中只有18px的高度。
您可以在范围上添加属性display:block;
以查看差异。
该标记用于对文档中的内嵌元素进行分组。
答案 3 :(得分:0)
span
是内联标记,它没有宽度或高度属性,因此如果它为空,则无法将其视为粗体或斜体...您可以将span更改为div或赋予块css中的财产:
.decorationBox {
display:block;
}
答案 4 :(得分:0)
<div class="menu">
<p class="menuHeader">Menu</p>
<ul class="menuList">
<li><a href="">Inspiration</a></li>
<li><a href="">Motivation</a></li>
<li><a href="">Decision</a></li>
<li><a href="">Solution</a></li>
<li><a href="">Action</a></li>
</ul>
<span id="decorationBox">
Content here.
</span>
</div>
的CSS
div.menu {
background-color: blue;
}
.menu #decorationBox {
background-color: red;
display: block;
}
OR
div.menu{background:blue;}
.menu span{background-color:red;}