我有2个问题
1)导航链接中的文本是否居中,因为我将这些链接(标签)的显示属性的值设置为block
,现在它基本上与我在{{1}中居中文本的方式相同元素?
2)我也将p
元素的显示属性(字体真棒图标)设置为i
,那么为什么这些元素也会居中?如果您将block
元素的显示属性更改为i
,则这些图标不会居中。在这种情况下,table
值的行为不应与block
相同吗?据我所知,我只能使用table
来对齐内联和内联块元素。那么为什么这有用呢?
text-align
答案 0 :(得分:2)
是。块级别(和带有宽度的内联块)可以使用text-align:center applied。
i元素将从其父元素a标签继承,因此也将居中。
显示块和表彼此非常不同,因为子元素的呈现方式不同,即表的子元素可能会显示:table-cell。
另外,text-align对内联元素没有任何意义。
答案 1 :(得分:2)
是。阻止容器可以应用text-align,这会对齐内容。
正常流中的块级元素占用其包含块的整个宽度,在您的示例中,它是li元素的内容框的宽度。
元素的内容框宽度根据此等式计算:
'利润率左' +' border-left-width' +' padding-left' + '宽度' + '填充右' +' border-right-width' +' margin-right' = 包含块的宽度
在您的示例中,边距和填充解析为0,边框为0或1像素。包含块由<a>
元素提供,其宽度的其余部分是<i>
元素display:block
时的内容框宽度。
text-align属性是继承的,因此<i>
元素采用对齐并将其内容集中在其内容框的宽度内,<i>
元素的内容由fontawesome提供:before
伪元素。
表元素是块级的,但它们以不同方式解析相等性。相反,它们的内容框的宽度是缩小到适合的,并且在您的示例中,包含块的任何剩余宽度都被赋予右边距。
这将表放在其容器的左侧,内容(再次从fontawesome生成的内容)紧紧地在其中。在表格内创建的匿名表格单元格仍然继承了文本对齐设置,但内容的任何一侧都没有空间可供移动。因此它似乎也位于浮动的{{{ 1}}元素的宽度是通过将<li>
元素紧紧包裹在其中来确定的。