从响应式网格布局中添加行和删除间隙
Adding Rows & Removing Gaps From Responsive Grid Layout
我正在尝试创建响应式网格布局。但是,到目前为止,我使用的是 4x5 网格,当我尝试添加更多行时,它一直出错。我设法让正方形旋转,我有一个 4x2 网格,我想制作一个 4x5 网格。但是我似乎无法用 div 实现它的布局,而且我似乎无法消除 div 之间的间隙(没有边距)。我希望他们四面八方接触。
谁能告诉我如何解决这个问题并使它成为 4x5 网格,因为我很困惑。我的代码如下。
CSS
.trigger{
width:64%;
height:64%;
background-color:white;
}
.hover-img, hover-img.hover_effect {
background-color:white;
position: relative;
width: 200px;
height: 200px;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-transform-style: preserve-3d;
text-align: center;
font-size: 0;
-webkit-user-select: none;
-webkit-touch-callout: none;
border-style: solid;
border-width: 1px;
border-color: #4595ff;
}
.trigger:hover > .hover-img {
-webkit-transform:rotateY(360deg);
-moz-transform:rotateY(360deg);
-ms-transform:rotateY(360deg);
-o-transform:rotateY(360deg);
transform:rotateY(360deg);
font-size:14px;
color:white;
}
.img1 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img1:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img2 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img2:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img3 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img3:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img4 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img4:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img5 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img5:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img6 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img6:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
#container{
width: 100%;
display:flex;
justify-content: space-around;
flex-wrap:nowrap;
}
.column{
float: left;
width: auto;
font-size: 12px;
}
HTML
<div id="container">
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img1">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img2">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img3"></div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img4">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img5">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img6">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img5">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img6">
</div>
</div>
</div>
</div>
在 #container
中删除 justify-content: space-around
会删除 space,具体取决于您的目的。
#container {
display: flex;
flex-wrap: nowrap;
justify-content: space-around;
width: 100%;
}
这可能对您有更多帮助:http://css-tricks.com/snippets/css/a-guide-to-flexbox/
我正在尝试创建响应式网格布局。但是,到目前为止,我使用的是 4x5 网格,当我尝试添加更多行时,它一直出错。我设法让正方形旋转,我有一个 4x2 网格,我想制作一个 4x5 网格。但是我似乎无法用 div 实现它的布局,而且我似乎无法消除 div 之间的间隙(没有边距)。我希望他们四面八方接触。
谁能告诉我如何解决这个问题并使它成为 4x5 网格,因为我很困惑。我的代码如下。
CSS
.trigger{
width:64%;
height:64%;
background-color:white;
}
.hover-img, hover-img.hover_effect {
background-color:white;
position: relative;
width: 200px;
height: 200px;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-transform-style: preserve-3d;
text-align: center;
font-size: 0;
-webkit-user-select: none;
-webkit-touch-callout: none;
border-style: solid;
border-width: 1px;
border-color: #4595ff;
}
.trigger:hover > .hover-img {
-webkit-transform:rotateY(360deg);
-moz-transform:rotateY(360deg);
-ms-transform:rotateY(360deg);
-o-transform:rotateY(360deg);
transform:rotateY(360deg);
font-size:14px;
color:white;
}
.img1 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img1:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img2 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img2:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img3 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img3:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img4 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img4:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img5 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img5:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img6 {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.img6:hover{
background-size: 100% 100%;
background-repeat: no-repeat;
}
#container{
width: 100%;
display:flex;
justify-content: space-around;
flex-wrap:nowrap;
}
.column{
float: left;
width: auto;
font-size: 12px;
}
HTML
<div id="container">
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img1">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img2">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img3"></div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img4">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img5">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img6">
</div>
</div>
</div>
<div class="column">
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img5">
</div>
</div>
<div class="trigger">
<div tabindex="0" class="maincontent hover-img img6">
</div>
</div>
</div>
</div>
在 #container
中删除 justify-content: space-around
会删除 space,具体取决于您的目的。
#container {
display: flex;
flex-wrap: nowrap;
justify-content: space-around;
width: 100%;
}
这可能对您有更多帮助:http://css-tricks.com/snippets/css/a-guide-to-flexbox/