Html 列表项通过将背景颜色扩展到100%来阻止父div的背景图像
当一个元素具有display:block时,该元素的背景色似乎会延伸到父元素宽度的100%(正如预期的那样)。相反,我希望背景色只延伸到文本的边缘,以便父元素的背景色可见。我会使用float或inline块,但每个元素存在于新行上也很重要 CSS代码:Html 列表项通过将背景颜色扩展到100%来阻止父div的背景图像,html,css,Html,Css,当一个元素具有display:block时,该元素的背景色似乎会延伸到父元素宽度的100%(正如预期的那样)。相反,我希望背景色只延伸到文本的边缘,以便父元素的背景色可见。我会使用float或inline块,但每个元素存在于新行上也很重要 CSS代码: body { background-color:#fff; color:#1a1a1a; font-family: inconsolata; font-size:13px; } #content { pos
body {
background-color:#fff;
color:#1a1a1a;
font-family: inconsolata;
font-size:13px;
}
#content {
position:absolute;
width:50%;
left:25%;
top:5%;
}
.entry {
/*background-color: #1a1a1a;*/
background-image:url('images/stripe3.png');
color:#f00;
/*padding:1px;*/
}
ul {
display:block;
}
li {
background-color:#fff;
margin-left:20px;
padding: 0px 4px;
}
HTML代码:
<div id="content">
<div class="entry">
<ul>
<li>
the illuminator : ongoing : projection, social practice
</li>
<li>
color organisms : 2014 : projection, net art
</li>
</ul>
</div>
</div>
-
照明器:持续:投影、社会实践
-
色彩生物:2014:投影、网络艺术
关键是在li
中有一个纯文本节点,这在CSS中很难选择
将文本包装成某种形式的文本标记(如p
、span
)或通常在列表项中的锚定标记a
)更为常见
如此
<div class="entry">
<ul>
<li>
<a href="#">the illuminator : ongoing : projection, social practice</a>
</li>
<li>
<a href="#">color organisms : 2014 : projection, net art</a>
</li>
</ul>
</div>
但是,这可能会限制链接的单击区域,因此可能会决定将锚定标记也显示为block
,这样我们就回到了开始的地方
因此,将文本再次包装到内联元素中,例如span和target
修订的HTML
<div class="entry">
<ul>
<li>
<a href="#"><span>the illuminator : ongoing : projection, social practice</span></a>
</li>
<li>
<a href="#"><span>color organisms : 2014 : projection, net art</span></a>
</li>
</ul>
</div>
最后,如果您希望查看
ul
的背景,请从li
和a
中删除背景色-就像这样-只应用于文本的背景色,因此只需使用颜色
?或者你的意思是背景颜色受影响的区域应该尽可能缩小到文本附近?请重新表述你的问题,似乎有点不清楚你的意思是:??注意://对css评论无效sprismspecs:@Lost是对的,请听他的<代码>/不是标准,是一种黑客行为<代码>/*..*/是标准的。参考:和。另外,花点时间阅读。这非常有效,谢谢你的解释!
<div class="entry">
<ul>
<li>
<a href="#"><span>the illuminator : ongoing : projection, social practice</span></a>
</li>
<li>
<a href="#"><span>color organisms : 2014 : projection, net art</span></a>
</li>
</ul>
</div>
.entry {
background-color: #1a1a1a;
color:#f00;
}
ul {
display:block;
}
li {
background-color:#fff;
margin-left:20px;
padding: 0px 4px;
}
li a {
background-color: lightblue;
display: block;
}
li a span { /* like this */
background-color: yellow;
}