我正试图在博客标题的单行内显示一些元素,但我的标识有问题。
这是我的代码:
CSS:
.list {
margin:0;
padding: 0;
list-style-type: none;
display: table;
table-layout: fixed;
width:100%;
}
img {
padding: 0;
}
.list>a {
display: table-cell;
border-left:1px #47c9af solid;
text-align: center;
color:#47c9af;
height:30px;
text-decoration: none;
}
.container {
background-color: white;
color:#47c9af;
height:100%;
font-family: WYekan !important;
}
HTML:
<div class="container">
<ul class="list">
<a href='#'><li style='float:left;'><img src="header2.png"></li></a>
<a href=""><li></li></a>
<a href='#'><li><h1 >Header Of My Blog </h1></li></a>
<a href='#'><li><p>SubHeader</p></li></a>
<a href='#'><li><h3></h3></li></a>
</ul>
</div>
结果是这样的:
如您所见,徽标与其他元素不一致,我该怎么办?
感谢。
答案 0 :(得分:3)
要修复对齐,您只需引入vertical-align
属性即可将所有内容对齐到顶部:
.list {
...
vertical-align: top;
}
标记问题是ul
元素只能包含li
个子元素。您当前的ul
元素包含a
个子元素,其中包含li
个元素 - 这是无效的。改为在a
元素中包含您的li
元素:
<ul>
<li>
<a></a>
<li>
</ul>
您需要问自己一些关于当前加价的问题:
ul
元素而不是header
元素?p
元素作为“SubHeader”?答案 1 :(得分:1)
您可以定义.list>a
和img
代码vertical-align:top;
.list>a, img{
vertical-align:top;
}
答案 2 :(得分:1)
首先,让我们重新排列您的HTML,以便代码有效。列表(ul
)具有列表项(li
)。列表项可能包含锚点,段落,标题等。不是相反。
然后我们需要稍微更改一下CSS,这样锚点就会得到正确的颜色。
但最重要的是表格单元的垂直对齐。通过将vertical-align
添加到列表项,它们将处于正确的对齐状态。
.container {
background-color: white;
color:#47c9af;
height:100%;
font-family: WYekan !important;
}
.list {
margin:0;
padding: 0;
list-style-type: none;
display: table;
table-layout: fixed;
width:100%;
}
img {
padding: 0;
}
.list>li {
display: table-cell;
border-left:1px #47c9af solid;
text-align: center;
height:30px;
vertical-align: middle;
}
.list li a {
color:#47c9af;
text-decoration: none;
}
&#13;
<div class="container">
<ul class="list">
<li><a href="#"><img src="http://placehold.it/150x75" /></a></li>
<li><a href="#"></a></li>
<li><h1><a href="#">Header of my blog</a></h1></li>
<li><a href="#">Subheader</a></li>
<li><h3><a href="#"></a></h3></li>
</ul>
</div>
&#13;
答案 3 :(得分:0)