今天我收到了一份作品,并从段落 <p></p>
中看到一种奇怪的格式。
#product p {
float: left;
width: 513px;
}
HTML是:
的观察:
- 图像每个都有270px,永远不会更多
<div id='product'>
<h1>Product name</h1>
<div class='img-product'>
<img src='http://fakeimg.pl/270x270/' />
</div>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
</div>
此html / css的结果是页面左侧宽度为270像素的图像,右侧是空白区域。
正确的是创建一个div,例如“description”,并格式化它们(作为定位和大小),而不是应用段落格式这样的?在99%的时间里针对该段只是文本。
我从来没有看到有人像div那样格式化一个段落,或者,我看,是非常特殊的情况。因为,对我来说,段落是文本元素,仅此而已,因此,样式适用于字体,颜色,行高等。
抱歉我的英文
答案 0 :(得分:3)
W3C建议书HTML 4.01 Specification说:
9.3.1 Paragraphs: the P element
P元素代表一个段落。
7.5.4 Grouping elements: the DIV and SPAN elements
DIV和SPAN元素,与id和class一起使用 属性,提供添加结构的通用机制 文档。这些元素定义内联(SPAN)或 块级(DIV),但没有其他表现的成语 内容。因此,作者可以结合使用这些元素 样式表,lang属性等,为自己定制HTML 需要和品味。
例如,假设我们想要生成HTML文档 基于客户信息数据库。由于HTML不包括 标识对象的元素,例如&#34;客户&#34;,&#34;电话号码&#34;, &#34;电子邮件地址&#34;等,我们使用DIV和SPAN来实现所需 结构和表现效应。
如果您有实际段落,请使用P
,但如果您要构建的某些内容不是段落,请使用DIV
或{{1} }。选择使用哪个元素是语义的,应该基于内容。造型的选择是正交的,真的。您可以根据自己的喜好设计段落或部门的样式;它们都是块级元素。
你确实提出了一个有趣的观点,试图保持段落样式特定于文本,而不是文档格式,但这只有在你已经有段落在里面的更高级别划分时才有可能。如果你不这样做,那就不是一个选择。我个人喜欢结构比简单结构更简单的粉丝,所以如果我的段落足够并且不需要处于更高级别的分区,我只是将样式放在段落上,而不是将它们包裹在分裂中。
答案 1 :(得分:0)
您需要将包含图像的div浮动到左侧。 DIV是一个块级元素,除非浮动,否则不允许任何其他元素出现在它旁边。
.img-product{
float:left;
}
答案 2 :(得分:0)
试
#product p {
float: left;
width: 513px;
padding:0px;
margin:0px;
}