我正在开发一个使用javascript(无库)的wysiwyg页面,因为它有一个相当专业化的应用程序,它必须定制而不是现成的。具有相同ID的多个div无效?
令人惊讶的是,我有很长的路要走,它非常完整,但我有一些困难让显示正确。
我有一个包含文本和图像的图像,图像右侧浮动,文本在它们周围流动。
在一些地方,我需要图像居中,所以我插入了一个div来包含它们。
下面的代码说明了这一点,它运作良好。
如果我有多个包含居中图像的div,则会出现问题,因为这些中心div的ID是相同的。
如果我改变centreing divs到一个类的图像不居中,但假设父div的权利浮动。
有什么办法可以解决这个问题吗?
是否有任何真正的问题具有相同的ID多个div?
我不担心支持FF以外的浏览器。
任何意见将非常感激,谢谢阅读。
点心添:O)
#details {
width: 698px;
background-color: #FFC;
}
#details img {
float: right;
}
.centreimage img {
float: none;
}
.centreimage {
float: none;
text-align: center;
}
<div id="details">
<p>Some text here</p>
<img src="10750bath.jpg" height="166" width="250">
<p>Which flows around the image on the right</p>
<p>blah</p>
<p>blah</p>
<p>blah</p>
<p>blah</p>
<p>blah</p>
<p>blah</p>
<p>The next image should be centred</p>
<div><img src="10750bath.jpg" width="250" height="166" class="centreimage"></div>
<p>more text</p>
<p>more text</p>
</div>
感谢大家的帮助。
即使当我将CSS和HTML更改为类时,图像仍然无法居中。
答案出自Pekka线索,特异性是原因。
特殊性规则给予一个ID比一个类更高的优先级。
“细节”div有一个ID,但“centreimage”是一个类。
我将“细节”的CSS更改为一个类(当然,标记为&),现在它可以工作。
不能相信我花了至少10个小时试图整理,谢谢大家的帮助。
(现在你知道为什么我在“点心添”):O)
此外,检查规格[7.5.2元素标识符:id和类属性](http://www.w3.org/TR/html401/struct/global.html#h-7.5.2) – 2012-08-08 08:04:09