不断添加
是不是一个好做法?style="padding: 0; margin: 0; display: block;"
到每个图像?
不,使用外部样式表做同样的事情是更好的做法:
img {
padding: 0;
margin: 0;
display: block;
}
这将针对加载了样式表的所有图像。这可以通过使用更具体的选择器来覆盖,例如基于id
(img#theImageID
,或者更简单地说,#theImageID
将针对<img id="theImageID" src="path/to/image.png" />
),或者基于class
(img.imageClass
,或者更简单地说,.imageClass
)。前者将选择:<img class="imageClass" src="path/to/image.png" />
(后者将选择相同的元素,但也具有相同类名的任何其他元素)。
编辑由于OP的回答/问题:
[Even] in case of html电子邮件?
HTML电子邮件是此规则的一个特殊情况,HTML电子邮件通常不加载或不能加载外部样式表。似乎有style
块的麻烦,所以在这种情况下,是的。你仍然需要使用内联样式。不幸的是。
进一步阅读:
- W3.org。
- SitePoint。
最好创建一个带有style属性的类,如下所示:
img.imageclass {
border: none;
margin: 20px;
padding: 10px;
}
为什么不建议使用内联样式。因为如果使用内联样式,您将无法从浏览器特定的样式表影响该元素。例如,如果你创建了一个元素,并发现它需要一些"调整"才能在IE6中看起来更好,例如,如果你明确地为该元素添加内联样式,则IE6特定的样式表将无法工作,因为内联样式将"较低",因此将具有更高的优先级。
这是一个很好的做法,但就像@David Thomas说的,最好在外部CSS文件中这样做,以防止内联混乱。