我有一個問題,我一直試圖解決很長一段時間。如何在不同的瀏覽器寬度上垂直對齊動態寬度圖像旁邊的文本?
我有一個自適應網站,我需要在其旁邊對齊橫幅圖像和文本。橫幅圖片的最大寬度爲1170px,但任何尺寸的圖片都可以上傳,所以我們必須通過CSS強制最大寬度。
它應該看起來像這樣的事情。文本應該垂直居中,並且應該填充圖像留下的可用空間。
當我的圖像太大時會出現問題。在較小的屏幕尺寸下,我無法強制圖像根據可用的屏幕尺寸減小尺寸,因此它只會溢出屏幕。
它必須工作,直到約700px的瀏覽器寬度。之後,我們有一個斷點強制文本到一個新的行,所以我們不再有這個問題。
所以,要點:圖片的寬度是未知的,文字的數量是未知的(最多170個字符)。該網站是響應式的,最大可用空間爲1170px,但隨着瀏覽器窗口變小,它會減少。
下面是相關SASS代碼:
.logo img {
max-width: 1170px;
}
.logo, .logo-text {
text-align: center;
}
.logo-text {
font-weight: 700;
}
@media all and (min-width: breakpoint(4)) {
.logo {
@include flex(none);
@include ie8 {
width: 1px;
}
@include ie9 {
width: 1px;
}
}
.logo, .logo-text {
text-align: left;
@include ie8 {
display: table-cell;
vertical-align: middle;
}
@include ie9 {
display: table-cell;
vertical-align: middle;
}
margin-bottom: 0;
}
.logo-wrapper {
@include ie8 {
display: table;
}
@include ie9 {
display: table;
}
@include display(flex);
@include flex-direction(row);
@include flex-wrap(nowrap);
@include align-items(center);
}
.logo-text {
-ms-flex: 0 1 auto; //IE10 hack to wrap the text
}
}
下面是相關的HTML代碼:
<div class="logo-wrapper">
<div class="logo">
<img src="https://xy.com/.png" alt="Logo">
</div>
<p class="logo-text" style="color: #FFF;">
This is a test This is a test This is a test This is aThis is a test This is a test This is a test This is a
</p>
</div>
它在IE8 +等主流瀏覽器的工作!
當圖片的最大寬度爲230px時,此代碼有效。但現在它必須增加到1170px。
請告訴我們你在試圖完成這個過程中已經做了什麼。 –
爲什麼你不能在小尺寸的窗戶上強制圖像變小? –