[英]Images not responsive by default in Twitter Bootstrap 3?
看起來像新版本3.0我必須將圖像的類名設置為col-lg-4 col-sm-4 col-4
如果圖像是具有相同類名的div的一部分,以使圖像響應於所有斷點。
在版本2中,圖像CSS屬性默認繼承父級的div屬性。
它是否正確?
Bootstrap 4
對於Bootstrap 4,使用Sass(SCSS):
// make images responisve by default
img {
@extend .img-fluid;
}
回答第3版的更新
Bootstrap 3有一個響應圖像的特殊類(設置max-width為100%)。 該類定義為:
.img-responsive {
display: block;
height: auto;
max-width: 100%;
}
注意默認情況下獲取img標記:
img {
vertical-align: middle;
border: 0;
page-break-inside: avoid;
max-width: 100% !important;
}
因此,使用class="img-responsive"
可以使您的圖像響應。
要使所有圖像默認響應:
css:在bootstrap css下添加以下代碼:
img {
display: block;
height: auto;
max-width: 100%;
}
less:在mixins.less中添加以下代碼:
img {
&:extend(.img-responsive);
}
注意:需要更少1.4.0。 請參閱: https : //stackoverflow.com/a/15573240/1596547
默認情況下, 旋轉木馬內的img標簽是響應式的
另請參閱
@ its-me的答案(
https://stackoverflow.com/a/18653778/1596547 )。
使用上述功能可以使您的所有圖像默認響應,將圖像轉換為
塊級元素 。
段落(
<p>
)中不允許使用塊級元素,請參閱:
https :
//stackoverflow.com/a/4291515/1596547
據我所知,塊級與內聯元素的區別被一組更復雜的內容類別所取代。 另見: https : //developer.mozilla.org/en-US/docs/Web/HTML/Inline_elemente#Inline_vs._block-level 。 因此在HTML5中,ap標簽可以包含與普通字符數據混合的任何短語元素。 (參見: http : //www.w3.org/TR/html-markup/p.html ) img
標簽就是這樣一個措辭元素。 img
標簽的display屬性的默認值確實是inline-block
。 將display屬性更改為block不會違反任何前述規則。
塊級元素( display:block
)占用其父級的所有可用空間,這看起來正是您對響應式圖像的期望。 所以設置display: block;
似乎是一個合理的選擇,必須優先於inline-block
聲明。
根據@ its-me ( https://stackoverflow.com/a/18653778/1596547 )的建議,需要inline-block
p元素inline-block
圖像應該可能根本沒有響應。
在試圖找出對所有圖像應用img-responsive
是否安全之后到了這里。
@its_me的答案讓我認為將這個應用於p
元素下的圖像是不安全的。
這似乎不是引導團隊的想法。
這就是為什么在bootstrap3中默認情況下圖像沒有響應的原因:
摘要是它打破了大量毫無防備的第三方小部件(包括谷歌地圖),可以理解的是,它們並未預期其中的圖像被強制調整為其他寬度。 這就是為什么我們在Bootstrap v3中回滾Bootstrap v2的“圖像是默認響應”方法,而采用明確的.img響應類。
https://github.com/twbs/bootstrap/issues/18178#issuecomment-154180107
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.