正常我們寫一個左右兩列,左側一列放置圖片的html,如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container{ background-col ...
正常我們寫一個左右兩列,左側一列放置圖片的html,如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container{ background-color: #fff; box-sizing: border-box; width: 100vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-flow: row nowrap; flex-flow: row nowrap; height: 100vh; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; } .left{ width:50vw; height: 100vh; overflow: hidden; position: relative; } .imageBox{ width: 100%; height: auto; position: absolute; top: 0; } img{ width:100%; height:auto; display: block; } </style> </head> <body> <div class="container"> <div class="left"> <div class="imageBox"> <img src="http://img5.imgtn.bdimg.com/it/u=3025209343,1849399022&fm=26&gp=0.jpg" alt=""> <img src="http://img5.imgtn.bdimg.com/it/u=3025209343,1849399022&fm=26&gp=0.jpg" alt=""> <img src="http://img5.imgtn.bdimg.com/it/u=3025209343,1849399022&fm=26&gp=0.jpg" alt=""> </div> </div> </div> </body> </html>
正常寫個demo是可以打開且正常顯示的,但是在某些時候(可能是在配置了打包編譯等情況),發現圖片無論如何好像都在最底下我們看不到的位置展示,不能置頂,終於找到了原因。
解決辦法:
給imageBox 設置一個font-size:0px; 或者 設置 line-height:0;
產生問題的原因:
不設置font-size,會繼承父元素的font-size,我這裡繼承了我設置的html的font-size:200vw,則會產生這個問題;
由於html有預設行高,或者設置了預設字體大小。
註意:
這裡還有個img 5px縫隙的問題
解決辦法有三:
1、圖片父元素設置font-size:0;
2、圖片設置 display:block;
3、圖片設置 vertical-align:bottom;
4、圖片設置 margin-bottom:-5px;