我有一个网格布局,它是几个复制块以及一个伴随的图像(链接到jsfiddle)。
<div class="story-body">
<div class="body-copy">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dapibus iaculis felis, molestie tincidunt est hendrerit vel. Aenean mattis convallis malesuada. Donec nec risus sem. Mauris mi urna, dictum in pulvinar vehicula, rutrum in elit. Sed pulvinar, elit sit amet sollicitudin imperdiet, mauris velit sollicitudin velit, nec lacinia dui massa vitae tellus. </p>
</div>
<div class="regular-photo">
<img src="http://placehold.it/500x500">
</div>
<div class="body-copy">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dapibus iaculis felis, molestie tincidunt est hendrerit vel. Aenean mattis convallis malesuada. Donec nec risus sem. Mauris mi urna, dictum in pulvinar vehicula, rutrum in elit. Sed pulvinar, elit sit amet sollicitudin imperdiet, mauris velit sollicitudin velit, nec lacinia dui massa vitae tellus. </p>
</div>
<div class="regular-photo">
<img src="http://placehold.it/500x500">
</div>
</div>
它完美地显示在桌面上-图像在随附的复印块顶部旁边对齐。问题是,在移动设备上,图像显示在主体复制部分之后,考虑到我以这种方式组织了HTML,这是有道理的。
.story-body {
display: grid;
grid-template-columns: 50% 50%;
grid-auto-flow: row;
}
.body-copy {
justify-self: center;
max-width: 80%;
}
.regular-photo {
justify-self: left;
}
@media screen and (max-width: 500px) {
.story-body {
grid-template-columns: 100%;
}
.regular-photo {
justify-self: center;
}
}
有没有一种方法可以将.regular-photo
div定位.body-copy
在移动设备上的div之前,而无需重新组织HTML?
我对您的代码做了一些重构。对不起。但是这里是解决方案。您可以order property
与包含以下内容的类的孩子一起使用display: grid
.story-body {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-flow: row;
justify-self: center;
}
.story-body p {
justify-self: center;
max-width: 80%;
}
.regular-photo {
justify-self: left;
display: inline-block;
width: 100%;
height: auto;
}
@media screen and (max-width: 500px) {
.story-body {
grid-template-columns: 1fr;
}
.photo1 {
order: 1;
}
.p1 {
order: 2;
}
.photo2 {
order: 3;
}
.p2 {
order: 4;
}
}
<div class="story-body">
<p class="p1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dapibus iaculis felis, molestie tincidunt est hendrerit vel. Aenean mattis convallis malesuada. Donec nec risus sem. Mauris mi urna, dictum in pulvinar vehicula, rutrum in elit. Sed pulvinar,
elit sit amet sollicitudin imperdiet, mauris velit sollicitudin velit, nec lacinia dui massa vitae tellus. </p>
<div class="regular-photo photo1">
<img src="http://placehold.it/500x500">
</div>
<p class="p2">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dapibus iaculis felis, molestie tincidunt est hendrerit vel. Aenean mattis convallis malesuada. Donec nec risus sem. Mauris mi urna, dictum in pulvinar vehicula, rutrum in elit. Sed pulvinar,
elit sit amet sollicitudin imperdiet, mauris velit sollicitudin velit, nec lacinia dui massa vitae tellus. </p>
<div class="regular-photo photo2">
<img src="http://placehold.it/500x500">
</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句