首先,你會希望一個元素爲inline-block的,而不是一個內聯,因爲你不希望它的內容流的普通文字。我會用div替換span以保持語義準確。然後,您希望它獲得其母公司的50%,就像之前一樣。
50%+ 50%+一對像素的邊框太大而不適合父元素,所以第二個內嵌塊會換行。爲了防止出現這種情況,請使用使CSS屬性包含邊框和填充的邊框。此代碼將應用於網站上的所有元素,這正是許多現代網站所做的,因爲它使CSS更簡單。
*, *:before, *:after {
box-sizing: inherit;
}
html {
box-sizing: border-box;
}
與內聯塊元件的問題是,一個單一的空間被保持在它們之間,因此,即使在50%的兩個元件,一個空間將存在於兩者之間。爲了防止...你必須刪除HTML代碼中的空間。
<div class="parent"><div>
This is a string which is too long to fit in the parent next to it's :before pseudo selector
</div></div>
所以,不要在父母和子div之間放置換行符或任何空格。這是一種恥辱,但我們無法做的其他事情。除此之外,這也適用:
<div class="parent"><!--
--><div>
This is a string which is too long to fit in the parent next to it's :before pseudo selector
</div><!--
--></div>
但它是相當醜陋的。
現在您還需要在您的元素上放置垂直對齊,以便它們對齊頂部而不是基線。
,瞧:
*, *:before, *:after {
box-sizing: inherit;
}
html {
box-sizing: border-box;
}
.parent {
width: 600px;
border: 1px solid black;
white-space: normal;
}
.parent:before {
content: "Before Pseudo Element";
display: inline-block;
width: 50%;
border: 1px solid green;
vertical-align: top;
}
.parent div {
display: inline-block;
max-width: 50%;
border: 1px solid blue;
white-space: normal;
}
<div class="parent"><div>
This is a string which is too long to fit in the parent next to it's :before pseudo selector
</div></div>
優秀!這對於評論HMTL中的空白是一個甜頭。 –