我为自己编写了一个基本的初始页面,它在Chrome中看起来很棒,但在Safari(我的笔记本电脑上的每日驱动程序)中定位完全没有。在Chrome中,它在垂直和水平方向上很好地居中,但在Safari的右上角,看起来左下角居中。这里有一些屏幕抓取它。
铬:
Safari浏览器:
这是我的CSS:
@import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300);
*{
margin: auto;
}
body{
font-family: 'Open Sans Condensed', sans-serif;
background-color: #292929;
color: #fff;
position: relative;
}
ul{
list-style-type: none;
}
h2{
font-size: 28px;
padding-bottom: 10px;
border-bottom: 2px;
border-bottom-style: solid;
border-bottom-color: #fff;
}
a{
text-decoration: none;
color: inherit;
font-size: 18px;
}
a:hover{
color: #0098bc;
transition: ease-in-out 0.2s;
}
/* ----- Containters ----- */
#container{
text-align: center;
border: 7px;
border-style: solid;
border-color: #fff;
color: #fff;
width: 1000px;
position: absolute;
top: 25%;
left: 50%;
transform: translate(-50%, 50%);
}
#container li{
padding: 10px;
}
#social_container{
display: inline-block;
width: 170px;
padding: 20px;
vertical-align: top;
}
#entertainment_container{
display: inline-block;
width: 170px;
padding: 20px;
vertical-align: top;
}
#news_container{
display: inline-block;
width: 170px;
padding: 20px;
vertical-align: top;
}
#misc_container{
display: inline-block;
width: 170px;
padding: 20px;
vertical-align: top;
}
我的HTML:
<!DOCTYPE html>
<html>
<head>
<title>New Tab</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="social_container">
<h2>Social</h2>
<ul>
<li><a href="https://www.facebook.com">Facebook</a></li>
<li><a href="https://www.reddit.com">Reddit</a></li>
<li><a href="https://www.twitter.com">Twitter</a></li>
<li><a href="https://www.linustechtips.com">Linus Tech Tips</a></li>
<li><a href="http://www.500px.com">500px</a></li>
</ul>
</div>
<div id="entertainment_container">
<h2>Entertainment</h2>
<ul>
<li><a href="https://www.youtube.com">YouTube</a></li>
<li><a href="https://www.netflix.com">Netflix</a></li>
<li><a href="https://www.nowtv.com">Now TV</a></li>
<li><a href="https://www.vessel.com">Vessel</a></li>
</ul>
</div
>
<div id="news_container">
<h2>Reading</h2>
<ul>
<li><a href="https://www.bbc.co.uk/news">BBC News</a></li>
<li><a href="https://www.theverge.com">The Verge</a></li>
<li><a href="https://www.tested.com">Tested</a></li>
<li><a href="http://www.chefsteps.com">ChefSteps</a></li>
</ul>
</div>
<div id="misc_container">
<h2>Misc</h2>
<ul>
<li><a href="https://mail.google.com">Gmail</a></li>
<li><a href="https://www.icloud.com">iCloud</a></li>
<li><a href="https://email.myconnect.bbc.co.uk">BBC Mail</a></li>
<li><a href="https://www.deviantart.com">Deviant ART</a></li>
<li><a href="http://www.overapi.com">OverAPI</a></li>
<li><a href="http://www.amazon.co.uk/?_encoding=UTF8&camp=1789&creative=390957&linkCode=ur2&tag=linustechtips-21">Amazon</a></li>
</ul>
</div>
</div>
</body>
</html>
关于解决方案的任何想法?
谢谢,詹姆斯。
答案 0 :(得分:2)
您需要为Safari使用供应商前缀。
更改
#container{
...
transform: translate(-50%, 50%); /* THIS LINE */
}
到
#container{
...
-webkit-transform: translate(-50%, 50%);
transform: translate(-50%, 50%);
}
原因可以在这里找到:http://caniuse.com/#feat=transforms2d
Safari是唯一仍需要转换属性上的供应商前缀的“现代”浏览器。
答案 1 :(得分:1)
你的css有几个小问题:
1)将文档高度设置为100%
html, body { height:100%; }
2)将容器置于中心位置
#container{
text-align: center;
border: 7px;
border-style: solid;
border-color: #fff;
color: #fff;
width: 1000px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
}
&#13;