Chrome 上的图像溢出网格单元,Firefox 上的正确外观 - 网格区域和媒体查询
Image overflowing grid cell on Chrome, correct appearance on Firefox - Grid areas and Media queries
我一直遇到 Chrome 问题,一旦屏幕宽度小于 500 像素,图像就会脱离网格单元格。在 Firefox 上我没有这个问题。我尝试了很多不同的东西,从使用 reset.css 文件到(许多)不同的 CSS 属性。
我已经为这个问题创建了一个代码笔 https://codepen.io/raul-podar/pen/wvGVRaz,请尝试调整大小以查看视觉错误。
html 文件
<body>
<section id="about">
<div class="grid">
<div id="aboutText">
<p>something random</p>
</div>
<div id="aboutImage">
<img src="https://i.imgur.com/eLVL8qX.jpg" alt="">
</div>
</div>
</section >
</body>
css 文件
section#about .grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas: "text image";
background-color: #ffeded;
}
#aboutText {
grid-area: text;
height: 400px;
background-color: #ed7d3a;
}
#aboutImage {
grid-area: image;
}
#aboutImage img {
height: auto;
max-width: 100%;
}
@media only screen and (max-width: 68em) {
section#about .grid {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 33%;
grid-template-areas: "text" "image";
}
#aboutImage {
grid-area: image;
padding: 5%;
}
#aboutText {
grid-area: text;
height: 200px;
width: 100%;
background-color: #ed7d3a;
}
img {
height: auto;
object-fit: contain;
max-width: 100%;
max-height: 100%;
display: block;
}
}
感谢您的帮助
section#about .grid{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas: "text image" ;
background-color: #ffeded; background-color: #ed7d3a;
}
#aboutText{
grid-area:text;
height: 400px;
}
#aboutImage{
grid-area:image;
}
#aboutImage img{
height: auto;
max-width: 100%;
}
@media only screen and (max-width: 1088px) {
section#about .grid{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 33%;
grid-template-areas: "text"
"image" ;
}
#aboutImage{
grid-area:image;
padding: 5%;
}
#aboutText{
grid-area:text;
height: 200px;
width: 100%;
background-color: #ed7d3a;
}
img {
height: auto;
object-fit: contain;
max-width: 100%;
max-height: 100%;
display:block;
}
}
<section id="about">
<div class="grid">
<div id="aboutText">
<p>something random</p>
</div>
<div id="aboutImage">
<img src="https://i.imgur.com/eLVL8qX.jpg" alt="">
</div>
</div>
</section >
您需要在网格中提供背景颜色 class 而不是关于文本。图像没有超出网格范围。
错误在 css grid-template-row 属性 中。我没有指定我想要 2 行。 Firefox 是从网格 template-area 理解这一点的,而 Chrome 不是。所以这可以很容易地通过 puttin grid-template-row 来解决:例如 auto auto
我一直遇到 Chrome 问题,一旦屏幕宽度小于 500 像素,图像就会脱离网格单元格。在 Firefox 上我没有这个问题。我尝试了很多不同的东西,从使用 reset.css 文件到(许多)不同的 CSS 属性。
我已经为这个问题创建了一个代码笔 https://codepen.io/raul-podar/pen/wvGVRaz,请尝试调整大小以查看视觉错误。
html 文件
<body>
<section id="about">
<div class="grid">
<div id="aboutText">
<p>something random</p>
</div>
<div id="aboutImage">
<img src="https://i.imgur.com/eLVL8qX.jpg" alt="">
</div>
</div>
</section >
</body>
css 文件
section#about .grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas: "text image";
background-color: #ffeded;
}
#aboutText {
grid-area: text;
height: 400px;
background-color: #ed7d3a;
}
#aboutImage {
grid-area: image;
}
#aboutImage img {
height: auto;
max-width: 100%;
}
@media only screen and (max-width: 68em) {
section#about .grid {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 33%;
grid-template-areas: "text" "image";
}
#aboutImage {
grid-area: image;
padding: 5%;
}
#aboutText {
grid-area: text;
height: 200px;
width: 100%;
background-color: #ed7d3a;
}
img {
height: auto;
object-fit: contain;
max-width: 100%;
max-height: 100%;
display: block;
}
}
感谢您的帮助
section#about .grid{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas: "text image" ;
background-color: #ffeded; background-color: #ed7d3a;
}
#aboutText{
grid-area:text;
height: 400px;
}
#aboutImage{
grid-area:image;
}
#aboutImage img{
height: auto;
max-width: 100%;
}
@media only screen and (max-width: 1088px) {
section#about .grid{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 33%;
grid-template-areas: "text"
"image" ;
}
#aboutImage{
grid-area:image;
padding: 5%;
}
#aboutText{
grid-area:text;
height: 200px;
width: 100%;
background-color: #ed7d3a;
}
img {
height: auto;
object-fit: contain;
max-width: 100%;
max-height: 100%;
display:block;
}
}
<section id="about">
<div class="grid">
<div id="aboutText">
<p>something random</p>
</div>
<div id="aboutImage">
<img src="https://i.imgur.com/eLVL8qX.jpg" alt="">
</div>
</div>
</section >
您需要在网格中提供背景颜色 class 而不是关于文本。图像没有超出网格范围。
错误在 css grid-template-row 属性 中。我没有指定我想要 2 行。 Firefox 是从网格 template-area 理解这一点的,而 Chrome 不是。所以这可以很容易地通过 puttin grid-template-row 来解决:例如 auto auto