我正在尝试将图标和段落集中在应用程序的标题中。目前它看起来像这样。
我想显示一个图标和一个高度相同的段落。我添加了padding-bottom
来实现它虽然不起作用。
sample.js(该应用程序使用React.js)
<div className="title"><img src={title} className="title" alt="title" />SAMPLE TITLE</div>
index.css
.title {
text-decoration: none;
background-color: #454545;
color: white;
padding-bottom: 10px;
}
编辑:
此问题已被Vertically align text next to an image?标记为重复。我不知道vertical align
,我认为有人喜欢我,所以我想保留这个问题。
答案 0 :(得分:1)
在display
vertical-align
和img
属性
.title {
text-decoration: none;
background-color: #454545;
color: white;
}
.title img {
display: inline-block;
vertical-align: middle;
}
<div class="title"><img src='https://placehold.it/40x40' alt="title" />SAMPLE TITLE</div>
答案 1 :(得分:1)
由于您的图像显示为inline
,这是您要对齐的内容,而不是文本。只需使用vertical-align: middle
属性即可。请查看MDN上的说明:
vertical-align CSS属性指定内联或表格单元格框的垂直对齐方式。
const MyApp = () => <div className="title">
<img src="http://via.placeholder.com/50x50" className="title" alt="title" /> SAMPLE TITLE
</div>;
ReactDOM.render(<MyApp />, document.getElementById("app"));
.title {
text-decoration: none;
background-color: #454545;
color: white;
vertical-align: middle;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
答案 2 :(得分:0)
尝试使用flex css
.title {
display: flex;
flex-direction: row;
justify-content: center;
align-content: center;
align-items: center;
}
.title img {
margin-right: 8px;
}
答案 3 :(得分:0)
尝试使用相同line-height
的图片为文本提供height
。
示例强>
<div className="title">
<img src={title} style={{ height: 25 }} className="title" alt="title" />
<span style={{lineHeight: 25}}>SAMPLE TITLE</span>
</div>
答案 4 :(得分:0)
您可以在vertical-align: middle
上使用img
。
.title {
text-decoration: none;
background-color: #454545;
color: white;
padding: 5px;
}
.title img {
border-radius: 100%;
margin-right: 10px;
vertical-align: middle;
}
<div class="title"><img src="http://via.placeholder.com/50x50" alt="title" />SAMPLE TITLE</div>