[英]html - CSS: How can I vertically align text and form elements in a label tag?
[英]Vertically align an asterisk (*) with a label in an HTML Form
在我的表單上,我在標簽后面放了一個星號 (*) 以將其標記為重要。
問題是它默認垂直對齊為頂部位置。 我希望有某種方式可以將它垂直對齊為中間。
這是它的外觀:
注意 * 頂部對齊。
我試過這個,但它不起作用
.imp {
display: inline-table;
vertical-align: middle;
}
使用vertical-align: sub
。
.verified span{ vertical-align:sub; }
<p class="verified"><span>*</span> verified</p>
vertical-align: sub
方法也擴展了容器的高度。 由於您還為問題標記了html
,因此您可以將 html 實體用於本機中間星號。
∗
演示:
這是默認的星號(*) 。 這是中間的星號(*) 。
試試這個: http : //jsfiddle.net/yce0mbux/1/
<span style="line-height:30px;vertical-align:middle" >*</span><label>Some text</label>
before
使用pseudo
元素
.imp { display: block; line-height: 26px; } .imp:before { content: '*'; display: inline-block; vertical-align: middle; }
<div class="imp">Mandatory</div>
如果您沒有嵌套的子元素,請像這樣添加一個:
<div>
<span id="one">
*
</span>
some text
</div>
您需要同時定義height
和line-height
以達到您想要的效果。
#one{
vertical-align: middle;
display: inline-block;
line-height: 20px;
height: 15px;
}
試試這個方法:
.your-label {
display: inline-table;
vertical-align: middle;
position: relative;
padding-left: 15px; /* Adjust as needed to make space for the asterisks */
/* You need a given dimension to prevent overlap */
}
.your-label:before {
position: absolute;
content: '*';
left: 0; /* Adjust as needed */
top: 3px; /* Adjust as needed */
}
注意:如上所示插入,讓您可以根據需要獨立定位。
使用relative
而不是absolute
來獲得更好的對齊。
.required::before {
position: relative;
content: '*';
left: 0;
top: 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.