1
1
您可以直接在包含文本的div中使用背景图像,并使用填充为图标腾出一些空间。 编辑: 这是一个工作的例子,但是我不能让“nowrap”工作,所以我用了一个高度来作弊:
看起来你必须使用单个图像而不是精灵,但是你可以直接将填充添加到star、circle和flag类中。 |
2
1
也许我不太明白你的意思,但是把.star,.circle,.flag的背景色设置为“白色”并使用“z-index”怎么样?可以说,这确实是一个技巧,但也许对你有用。 更新 刚刚根据你的代码做了一个尝试。仅在FF、Opera、IE8上工作:
|
3
0
您的问题是,您希望基于父标记的特定类型的子标记的数目来影响父标记的呈现。如果没有一些程序干预,这是不可能的。
如果您是以编程方式生成这些列表的,我建议您只添加三个类,它们指定到外部的行的宽度
否则,最好的选择可能是使用javascript动态地缩小框。 |
4
0
要让这些图标影响文本的宽度,最简单的方法是将它们放在文本前面(不管怎样,它们都是绝对定位的),并为文本本身提供一个容器(我很确定你需要这样做,无论你用什么方法)。所以你的结局是:
这里是唯一一个新的css,你需要让它工作(除了在问题中的css):
这个
顺便说一句,我不得不说这里有很多div,所以没有迹象表明它的实际含义。您的第一个关注点应该始终是创建语义html。 我可能想把文本放在段落标签中,图标放在列表中,给每个列表项一个文本描述(用css隐藏)。再说一次,也许这不太合适(也许图标div真的应该来 之后 文本);我不知道。如果图标出现在列表中,兄弟选择器将需要一些帮助… |
5
0
我不能评论梅库罗的回答和你的回答(太少了点),所以我在这里补充如下:
您可以使用不透明img覆盖的行的占位符图像,这样,一旦放置,它将覆盖文本和行,但是背景行看起来是不间断的,因为图像有一条与后面的实际行整齐对齐的行。你可以利用
另外,如果你只使用一个符号(星号、圆圈、旗号)来分隔图像,并用不透明的空白将图像向右填充到你想要覆盖的宽度,你会得到类似的结果(我已经尽力对base64图像进行了编码,但它只在ff中有效)。css应该能够正确地处理正确的链接图像)。 CSS:
|