我正在使用flexbox方法进行布局,我试图实现。我已经阅读了文档,并且在最近的一个项目中一直在玩弄它。但是我很挣扎(我不确定这个常见问题,还是我没有一个像样的解决方案)。作为标题状态,我试图实现一个完整的页面布局,其中包含8个均等比例的屏幕(2行4个div或2个div的4列)。整版页面/屏幕FLEXBOX布局
我已经在一定程度上做到了这一点,但真正的问题是放置在divs本身的图像。如果我使用“vh”和“vw”单位来调整图像/ div的大小,当浏览器调整大小时,它们会保持与窗口成比例的关系,但是图像真的偏斜并且变得很糟糕。
如果我没有声明vh/vw单位并使用%代替图像保持正确的大小,但div变小。
我试图实现全屏布局,8个div和图像垂直或水平调整大小时始终与窗口成比例。
这是我的html;
<div id="section-two" class="section-wrapper">
<div class="parent-container">
<div class="child">
<img class="feature-image" ng-src="/assets/01_RETAIL_DESIGN.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/02_BRANDING.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/03_STRATEGIC_INSIGHTS.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/04_COMMERCIAL_MASTERPLANNING.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/05_URBANREGENERATION.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/06_FOODANDBEVERAGE_DESIGN.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/07_TRANSPORT.jpg" />
</div>
<div class="child">
<img class="feature-image" ng-src="/assets/08_SIGNAGEANDWAYFINDING.jpg" />
</div>
</div>
</div>
这是我的CSS;
.section-wrapper {
height: 100vh;
width: 100vw;
border: 1px solid black;
}
.parent-container {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
font-size: 0;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0;
}
.child {
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
height: 50%;
width: calc(100% * (1/4));
position: relative;
}
.feature-image {
height: 50vh;
}
非常感谢。
该方法有效。在此之前,我在使用ng级作品时遇到了问题。 – Troy