我想在左边有一个简短的文本,在右边有一些社交图标。
逻辑如下:我有一个段落元素 <p>
带有一些文本,居中( float:left
),在这段文本之后,在本段内,我有一个社交图标的水平列表,由 <span>
创建, 它向右对齐 ( float:right
)。
仍然,它不起作用,因为图标出现在文本下方:
这是 fiddle (虽然图标不起作用,因为它们是导入的)。
HTML:
<p class="post-meta"> April 7, 2017
<span class="share-icons">
<ul class ="social-icons" style="list-style: none">
<li class="zocial-twitter"></li>
<li class="zocial-facebook"></li>
<li class="zocial-googleplus"></li>
<li class="zocial-reddit"></li>
</ul>
</span>
</p>
CSS:
@import url(http://weloveiconfonts.com/api/?family=zocial);
/* zocial */
[class*="zocial-"]:before {
font-family: 'zocial', sans-serif;
}
.post-title {
text-align: left;
font-weight: 700;
}
.post-meta {
margin-top: 0;
color: grey;
font-weight: 700;
overflow: hidden;
}
.share-icons {
float: right;
}
.social-icons li {
display:inline;
padding: 5px;
}
最佳答案
正如 Gurtej Singh 所建议的那样。
更改您的标记。 ul 必须在段落之外。我添加了父元素,这样我们就可以使用 flex 进行垂直对齐。
@import url(http://weloveiconfonts.com/api/?family=zocial);
/* zocial */
[class*="zocial-"]:before {
font-family: 'zocial', sans-serif;
}
* {
margin: 0;
padding: 0;
}
.flex {
padding: 20px;
display: flex;
align-items: center;
justify-content: space-between;
}
.post-title {
text-align: left;
font-weight: 700;
}
.post-meta {
margin-top: 0;
margin-right: 15px;
color: grey;
font-weight: 700;
overflow: hidden;
}
.share-icons {
float: right;
}
.social-icons li {
display:inline-block;
padding: 5px;
}
<div class="flex">
<p class="post-meta">April 7, 2017</p>
<ul class ="social-icons" style="list-style: none">
<li class="zocial-twitter"></li>
<li class="zocial-facebook"></li>
<li class="zocial-googleplus"></li>
<li class="zocial-reddit"></li>
</ul>
</div>
关于html - 将社交图标与文本 CSS 对齐在同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318790/