html 代码在 chrome 和 safari 中执行不同
html code executing differently in chrome and safari
我正在做一个项目。我的代码在 chrome 和 safari 中的工作方式不同。
这是我的代码
`HTML:
<body>
<div class="container">
<ul class="rig">
<li>
<a href="special offers.html"/><img src="gift.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="food.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="drink.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="shopping.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="events.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="payingguest.png" />
<h3>Image Title</h3>
</li>
</ul>
</div>
</body>
MY CSS code:
*{padding: 0; margin: 0;}
body{
width: 100%;
margin: auto;}
.container{
width: 960px;
margin: 0 auto;
}
ul.rig {padding-top: 100px;
list-style: none;
font-size: 0px;
margin-left: -2.5%;
}
ul.rig li {
display: inline-block;
padding: 10px;
margin: 0 0 2.5% 2.5%;
background: #fff;
border: 1px solid #ddd;
font-size: 16px;
font-size: 1rem;
vertical-align: top;
box-shadow: 0 0 5px #ddd;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
text-decoration: none;}
ul.rig li img {
width: 280px;
height: 280px;
margin: 0 0 5px; }
ul.rig li h3 {
margin: 5px 0 5px;
text-decoration: none; }
ul.rig li p {
font-size: .9em;
line-height: 1.5em;
color: #999;}
ul.rig.columns-3 li {
width: 30.83%; }
@media (max-width: 480px) {
ul.grid-nav li {
display: block;
margin: 0 0 5px;}
ul.grid-nav li a {
display: block;}
ul.rig {
margin-left: 0; }
ul.rig li {
width: 100% !important;
margin: 0 0 20px;}
}
我的问题是我在 Safari、chrome、Internet Explorer 中执行了相同的代码。它工作正常 chrome 和 Internet Explorer。但在 safari 中不是。
代码是关于在网格中显示图像。此代码连续显示 3 张图像。但在 safari 中,它连续只显示 2 张图像。
非常感谢你的帮助。
这是您在 ul.rig li
元素上的边距。它的左边距为 2.5%。 Chrome、IE 等正在向下舍入像素,以便您的 3 个元素适合,而 Safari 正在向上舍入,以便只有 2 个适合。由于您的容器是固定宽度的,请尝试提供固定边距而不是百分比。或者你可以稍微增加容器大小或将边距减少到 margin: 0 0 2.5% 2.4%;
http://jsfiddle.net/354rxymj/1/
我正在做一个项目。我的代码在 chrome 和 safari 中的工作方式不同。 这是我的代码 `HTML:
<body>
<div class="container">
<ul class="rig">
<li>
<a href="special offers.html"/><img src="gift.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="food.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="drink.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="shopping.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="events.png" />
<h3>Image Title</h3>
</li>
<li>
<img src="payingguest.png" />
<h3>Image Title</h3>
</li>
</ul>
</div>
</body>
MY CSS code:
*{padding: 0; margin: 0;}
body{
width: 100%;
margin: auto;}
.container{
width: 960px;
margin: 0 auto;
}
ul.rig {padding-top: 100px;
list-style: none;
font-size: 0px;
margin-left: -2.5%;
}
ul.rig li {
display: inline-block;
padding: 10px;
margin: 0 0 2.5% 2.5%;
background: #fff;
border: 1px solid #ddd;
font-size: 16px;
font-size: 1rem;
vertical-align: top;
box-shadow: 0 0 5px #ddd;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
text-decoration: none;}
ul.rig li img {
width: 280px;
height: 280px;
margin: 0 0 5px; }
ul.rig li h3 {
margin: 5px 0 5px;
text-decoration: none; }
ul.rig li p {
font-size: .9em;
line-height: 1.5em;
color: #999;}
ul.rig.columns-3 li {
width: 30.83%; }
@media (max-width: 480px) {
ul.grid-nav li {
display: block;
margin: 0 0 5px;}
ul.grid-nav li a {
display: block;}
ul.rig {
margin-left: 0; }
ul.rig li {
width: 100% !important;
margin: 0 0 20px;}
}
我的问题是我在 Safari、chrome、Internet Explorer 中执行了相同的代码。它工作正常 chrome 和 Internet Explorer。但在 safari 中不是。
代码是关于在网格中显示图像。此代码连续显示 3 张图像。但在 safari 中,它连续只显示 2 张图像。
非常感谢你的帮助。
这是您在 ul.rig li
元素上的边距。它的左边距为 2.5%。 Chrome、IE 等正在向下舍入像素,以便您的 3 个元素适合,而 Safari 正在向上舍入,以便只有 2 个适合。由于您的容器是固定宽度的,请尝试提供固定边距而不是百分比。或者你可以稍微增加容器大小或将边距减少到 margin: 0 0 2.5% 2.4%;
http://jsfiddle.net/354rxymj/1/