有人能告诉我编码错误吗?一切正常,唯一的问题就是顶部没有边缘。
HTML :
<div id="contact_us"> <!-- BEGIN CONTACT US -->
<span class="first_title">Contact</span>
<span class="second_title">Us</span>
<p class="content">For any questions whatsoever please contact us through the following e-mail address:</p></br></br>
<p class="e-mail">info@e-mail.com</p></br></br></br></br>
<p class="read_more"><a href="underconstruction.html">Read More</a></p>
</div> <!-- END CONTACT US -->
CSS :
span.first_title {
margin-top: 20px;
margin-left: 12px;
font-weight: bold;
font-size: 24px;
color: #221461;
}
span.second_title {
margin-top: 20px;
font-weight: bold;
font-size: 24px;
color: #b8b2d4;
}
答案 0 :(得分:250)
与div
不同,p
1 是Block Level个元素,可以在所有方面占用margin
,span
< sup> 2 不能因为Inline元素只能水平占用边距。
边距属性指定框的边距区域的宽度。该 'margin'速记属性为所有四方设定了保证金 其他保证金属性仅设定各自的一面。这些 属性适用于所有元素,但垂直边距不会 对未替换的内联元素的任何影响。
Demo 1(垂直margin
未应用span
是inline
元素)
解决方案?制作span
元素,display: inline-block;
或display: block;
。
建议您使用display: inline-block;
,因为它将inline
以及block
。仅将block
设为block
会导致您的元素呈现on another line,因为100%
级别元素会占用页面上inline-block
的水平空间,除非它们被生成{{1}或者他们是floated
到left
或right
。
1。 Block Level Elements - MDN来源
2。 Inline Elements - MDN资源
答案 1 :(得分:50)
看起来你错过了一些选项,尝试添加:
position: relative;
top: 25px;
答案 2 :(得分:8)
span
是一个不支持垂直边距的内联元素。将边距放在外div
上。
答案 3 :(得分:3)
span
元素默认为display:inline;
,您需要将其设为inline-block
或block
将CSS改为此类
span.first_title {
margin-top: 20px;
margin-left: 12px;
font-weight: bold;
font-size:24px;
color: #221461;
/*The change*/
display:inline-block; /*or display:block;*/
}
答案 4 :(得分:1)
永远记住一件事我们无法将边距垂直应用于内联元素,如果要应用然后将其显示类型更改为块或内联块。例如span {display:inline-block;}