Chrome与Chrome之间的定位问题苹果浏览器

时间:2015-06-17 21:13:13

标签: css

我为自己编写了一个基本的初始页面,它在Chrome中看起来很棒,但在Safari(我的笔记本电脑上的每日驱动程序)中定位完全没有。在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>

关于解决方案的任何想法?

谢谢,詹姆斯。

2 个答案:

答案 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)将容器置于中心位置

&#13;
&#13;
#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;
&#13;
&#13;