将 div 对齐到另一个 div 的第一行的基线?
Aligning div to baseline of the first line of another div?
我有两个 div,想对齐它们的基线。但是,其中一个 div 有不止一行文本和一些嵌入内容,虽然我想将它们与顶部基线对齐,但浏览器似乎与底部基线对齐。
我构建了一个 JSFiddle here 来说明,具有以下 HTML:
<div style='display:inline-block;'>NOTE:</div>
<div style='display:inline-block; width:200px;'>
Here's <div class='embedded'></div> an embedded div and more text
</div>
和CSS:
.embedded {
width:40px;
height:40px;
display:inline-block;
vertical-align:-15px;
border:1px solid black;
}
我想要的是:
我得到的是这样的:
纯CSS 解决方案会很好,但我也不反对在这里使用JavaScript。任何帮助将不胜感激!
你可以很简单地用包装 div 和一些弹性盒子来完成。
.wrapper {
display: flex;
align-items: baseline;
}
.note {
margin-right: 1ch;
}
.embedded {
width: 40px;
height: 40px;
display: inline-block;
vertical-align: -15px;
border: 1px solid black;
}
<div class="wrapper">
<div class="note" style='display:inline-block;'>NOTE:</div>
<div style='display:inline-block; width:200px;'>
Here's <div class='embedded'></div> an embedded div and more text
</div>
</div>
This will solve your issue:
`<div style="display: flex;">
<div style="padding-top: 13px;">NOTE: </div>
<div>
<p style="display:inline">
Here's
<span class='embedded'></span>
an embedded div
<br/>
and more text
</p>
</div>
</div>`
Link : JSFiddle
我有两个 div,想对齐它们的基线。但是,其中一个 div 有不止一行文本和一些嵌入内容,虽然我想将它们与顶部基线对齐,但浏览器似乎与底部基线对齐。
我构建了一个 JSFiddle here 来说明,具有以下 HTML:
<div style='display:inline-block;'>NOTE:</div>
<div style='display:inline-block; width:200px;'>
Here's <div class='embedded'></div> an embedded div and more text
</div>
和CSS:
.embedded {
width:40px;
height:40px;
display:inline-block;
vertical-align:-15px;
border:1px solid black;
}
我想要的是:
我得到的是这样的:
纯CSS 解决方案会很好,但我也不反对在这里使用JavaScript。任何帮助将不胜感激!
你可以很简单地用包装 div 和一些弹性盒子来完成。
.wrapper {
display: flex;
align-items: baseline;
}
.note {
margin-right: 1ch;
}
.embedded {
width: 40px;
height: 40px;
display: inline-block;
vertical-align: -15px;
border: 1px solid black;
}
<div class="wrapper">
<div class="note" style='display:inline-block;'>NOTE:</div>
<div style='display:inline-block; width:200px;'>
Here's <div class='embedded'></div> an embedded div and more text
</div>
</div>
This will solve your issue:
`<div style="display: flex;">
<div style="padding-top: 13px;">NOTE: </div>
<div>
<p style="display:inline">
Here's
<span class='embedded'></span>
an embedded div
<br/>
and more text
</p>
</div>
</div>`
Link : JSFiddle