Html 为什么是top&;底限不适用吗?为什么要使用左边距?

Html 为什么是top&;底限不适用吗?为什么要使用左边距?,html,css,Html,Css,请在以下html和css代码片段中说明:- Html: <p>Paragraph Text</p> <p> <a class="cta" href="#">Visit Blog</a> </p> <p>Paragraph Text</p> a.cta { font-size:18px; margin-top: 50px; margin-bottom

请在以下html和css代码片段中说明:-

Html:

<p>Paragraph Text</p>
    <p>
        <a class="cta" href="#">Visit Blog</a>
    </p>
<p>Paragraph Text</p>
a.cta  {
   font-size:18px;
   margin-top: 50px;
   margin-bottom: 50px;
   margin-left: 40px;
}​
​1) 为什么顶部和底部边距不适用于主播的“cta”类?


2) 为什么应用左边距没有任何问题?

必须为a.cta的父元素指定宽度和高度,以便边距生效。如果没有参考点,边距对浏览器没有多大意义


p{width:100px;height:100px;}

必须为a.cta的父元素指定宽度和高度,边距才能生效。如果没有参考点,边距对浏览器没有多大意义


p{宽度:100px;高度:100px;}

您需要添加
显示:内联块到您的CSS

CSS


说明:由于内联和块级元素的
,需要添加
显示:内联块到您的CSS

CSS


说明:由于内联和块级元素的
,,
元素默认为“内联”元素。这意味着它与周围的文本显示在同一行中。根据定义,内联元素没有顶部或底部边距,只有左侧和右侧边距。要添加上边距或下边距,只需通过修改CSS将元素声明为“块”类型元素,如下所示:

a.cta  {
   display: block;
   font-size:18px;
   margin-top: 50px;
   margin-bottom: 50px;
   margin-left: 40px;
}​

但是,您需要注意,将其从内联元素更改为块元素确实会产生一些后果。例如,
a
标记中的文本将显示在其前面文本的下方。之后的任何文本都将显示在其下方的单独部分中,就像它们都是单独段落的一部分。

默认情况下,
元素是“内联”元素。这意味着它与周围的文本显示在同一行中。根据定义,内联元素没有顶部或底部边距,只有左侧和右侧边距。要添加上边距或下边距,只需通过修改CSS将元素声明为“块”类型元素,如下所示:

a.cta  {
   display: block;
   font-size:18px;
   margin-top: 50px;
   margin-bottom: 50px;
   margin-left: 40px;
}​

但是,您需要注意,将其从内联元素更改为块元素确实会产生一些后果。例如,
a
标记中的文本将显示在其前面文本的下方。之后的任何文本都将显示在其下方的单独部分中,就像它们都是单独段落的一部分一样。

另一种选择是将类应用于
元素,而不是


-Marcatectura

另一个选项是将类应用于
元素,而不是


-Marcatectura

在旧版本的IE中,您可以使用
内联块
获得一些奇怪的行为,但是使用锚定标记是非常安全的。很好的调用。@HTMLDeveloper很高兴知道它帮助了您:)在旧版本的IE中,
内联块
可以产生一些奇怪的行为,但与锚定标记一起使用是非常安全的。很好的调用。@HTMLDeveloper很高兴知道它帮助了您:)但是使用
内联块不会使段落中断:)但是使用
内联块不会使段落中断:)
<p>Paragraph Text</p>
<p class="cta">
    <a href="#">Visit Blog</a>
</p>
<p>Paragraph Text</p>​
p.cta  {
font-size:18px;
margin-top: 50px;
margin-bottom: 50px;
margin-left: 40px;
}​