我正在嘗試制作一個回應式影像網格,但我似乎無法使其作業。影像回應最大高度和最大寬度,但父 div 沒有占用它們的全寬(因此不包含在它的父級中)或者影像沒有最大高度和max-width,它們的父 div 具有正確的寬度,但沒有回應。我希望我已經明確了我的問題和我的目標。誰能闡明我如何實作這一目標?
JSFiddle
#grid_area {
display: flex;
height: 100%;
width: 100%;
position: absolute;
align-content: center;
justify-content: center;
align-items: center;
}
#grid {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
height: 80%;
width: 50%;
}
img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.row {
display: flex;
flex-direction: row;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="grid_area">
<div id="grid">
<div class="row" id="0">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C1">
</div>
<div class="row" id="1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C2">
</div>
<div class="row" id="2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C3">
</div>
<div class="row" id="3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C4">
</div>
</div>
</div>
</body>
</html>
uj5u.com熱心網友回復:
您可以使用 CSS 網格。給max-width: (x)px你的.grid-area。
比在您的網格區域中,您可以創建一個 4x3 網格
display: grid;
grid-template-rows: repeat(4, 1fr);
grid-template-columns: repeat(3, 1fr);
比您作為孩子添加的每個影像都會在網格中找到一個位置。
grid-column您可以使用和grid-row屬性更改 Grid 內的影像位置。
所以我改變#A1影像在網格內的位置
#A1 {
grid-column: 2 / 3;
grid-row: 2/ 3;
}
https://www.w3schools.com/css/css_grid.asp
img {
max-width: 100%;
display: block;
}
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
}
.grid_area {
height: 100%;
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-rows: repeat(4, 1fr);
grid-template-columns: repeat(3, 1fr);
}
#A1 {
grid-column: 2 / 3;
grid-row: 2/ 3;
}
<div class="grid_area">
<img src="https://source.unsplash.com/random/460x345/" id="A1" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B1" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C1" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A2" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B2" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C2" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A3" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B3" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C3" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A4" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B4" />
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C4" />
</div>
uj5u.com熱心網友回復:
檢查這個片段->
* {
margin: 0;
padding: 0;
}
html,body {
width:100%;
height: 100%;
box-sizing: border-box;
}
#grid_area {
display: flex;
height: 100%;
width: 100%;
position: relative;
align-content: center;
justify-content: center;
align-items: center;
background-color: #aaa;
}
#grid {
display: flex;
flex-direction: column;
align-items: flex-start;
height: 80%;
width: 50%;
padding: 10px;
background-color: #fff;
overflow-y: scroll;
}
img {
max-width: calc(100% / 3);
max-height: 100%;
object-fit: contain;
}
.row {
display: flex;
flex-direction: row;
}
@media (max-width: 600px) {
img {
max-width: calc(100%);
}
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="grid_area">
<div id="grid">
<div class="row" id="0">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C1">
</div>
<div class="row" id="1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C2">
</div>
<div class="row" id="2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C3">
</div>
<div class="row" id="3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C4">
</div>
</div>
</div>
</body>
</html>
希望這會奏效。
uj5u.com熱心網友回復:
夫婦的事情。從父級中洗掉absolute定位,#grid_area因為這在擴展設計時會出現問題。
width: 50%;沒有足夠的空間容納您的內容。我會完全洗掉寬度,讓它根據您的內容呈現寬度。
#grid_area {
display: flex;
height: 100%;
width: 100%;
align-content: center;
justify-content: center;
align-items: center;
}
#grid {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
height: 80%;
}
img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.row {
display: flex;
flex-direction: row;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="grid_area">
<div id="grid">
<div class="row" id="0">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C1">
</div>
<div class="row" id="1">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C2">
</div>
<div class="row" id="2">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C3">
</div>
<div class="row" id="3">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="A4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="B4">
<img src="https://www.w3schools.com/css/img_chania.jpg" id="C4">
</div>
</div>
</div>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/451930.html
