第一个网站我使用flexbox,所以有点学习曲线......
基本上,布局在Chrome中完美运行:
http://richmond-new.streeten.co.uk/index
但完全搞砸了Safari:
我担心这可能非常复杂,因为我试图复制一个带有排水沟的网格系统,这是我在这里得到帮助的:Using margin on flex items
我正在使用前缀(我相信)必要 - 在容器上:
.index{
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
对那个容器中的孩子们说:
.mainImage{
-webkit-box-flex: 1 1 66.66%;
-moz-box-flex: 1 1 66.66%;
-webkit-flex: 1 1 66.66%;
-ms-flex: 1 1 66.66%;
flex: 1 1 66.66%;
}
用于flex-basis的百分比确实因每个元素而异,具体取决于我希望它们占用多少行。即一些是25%,33.33%等。
HTML结构如下(我删除了除了一篇文章之外的所有文章,试着保持简短):
<section class="pageContent index">
<article class="mainImage">
<div>
<a href="#">
<div class="articleContent">
<h1>Marketing Services for Growing Businesses</h1>
<h2>The Richmond Marketing Consultancy specialises in providing marketing services to SME, B2B and Professional Service firms.</h2>
</div>
</a>
</div>
</article>
</section>
任何帮助都非常感激。
修改
试图按要求将更多CSS拉到一起。不确定你需要什么,但我试图了解相关的内容。正如我的评论中所述,如果您需要查看实时代码,该网站也可以在http://richmond-new.streeten.co.uk/index在线查看:
.pageContent {
*zoom: 1;
background: #fff;
padding: 1em;
}
.pageContent:before,
.pageContent:after {
content: "";
display: table;
}
.pageContent:after {
clear: both;
}
.pageContent > div {
position: relative;
padding: 1em;
width: 100%;
}
.index {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
padding: 0.5em;
}
article > div {
background-size: cover;
background-position: center;
flex: 1 1 auto;
height: auto;
position: relative;
}
.mainImage,
.markServ {
height: 340px;
}
.index .mainImage > div {
background-image: url("/images/main.jpg");
}
.mainImage {
-webkit-box-flex: 1 1 66.66%;
-moz-box-flex: 1 1 66.66%;
-webkit-flex: 1 1 66.66%;
-ms-flex: 1 1 66.66%;
flex: 1 1 66.66%;
}
.markServ,
.caseOne,
.busDev,
.twit {
-webkit-box-flex: 1 1 33.33%;
-moz-box-flex: 1 1 33.33%;
-webkit-flex: 1 1 33.33%;
-ms-flex: 1 1 33.33%;
flex: 1 1 33.33%;
}
.headline {
-webkit-box-flex: 1 1 100%;
-moz-box-flex: 1 1 100%;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
min-height: 0;
}
.outsourced {
-webkit-box-flex: 1 1 50%;
-moz-box-flex: 1 1 50%;
-webkit-flex: 1 1 50%;
-ms-flex: 1 1 50%;
flex: 1 1 50%;
}
.blog,
.caseTwo {
-webkit-box-flex: 1 1 25%;
-moz-box-flex: 1 1 25%;
-webkit-flex: 1 1 25%;
-ms-flex: 1 1 25%;
flex: 1 1 25%;
}