【问题标题】:CSS appears different on Windows than MacCSS 在 Windows 上的显示与 Mac 上的不同
【发布时间】:2014-05-07 03:56:55
【问题描述】:

当我在 Windows 中查看该站点时,该站点的大部分内容,例如顶部文本、正确的联系方式、导航文本和欢迎文本,都比在 Mac 上显示的要低。 Mac 浏览器按原样显示 CSS。请帮帮我...

Mac 截图

Windows 截图

HTML

<body>
<div id="wholepage">
<header>
<div id="nav_top">
<nav>
<h1 class="slogan">Steel & Fabrication Specialists</h1>
</nav>
</div>
<a href="index.html"><img class="kks_logo" src="KKSLogo.png" border="0" alt="KKS Services   Ltd logo"></a>
<h1 class="logo">KKS</h1>
<h2 class="logosub">Services Ltd</h2>
<h3 class="head_contact">0113 2826946</h3>
<h3 class="head_contact"><a href="contact.html">enquiries@kksservices.co.uk</a></h3>
<nav id="main_nav">
<ul id="nav_main">
 <li><a class="current_index" href="index.html">HOME</a></li>
 <li><a class="domestic" href="domestic.html">DOMESTIC</a></li>
 <li><a class="automation" href="automation.html">AUTOMATION</a></li>
 <li><a class="commercial" href="commercial.html">COMMERCIAL</a></li>
 <li><a class="contact" href="contact.html">CONTACT</a></li>
</ul>
</nav>
<img class="rivot" src="rivot.png" alt="KKS Services Ltd Rivot"/>
<img class="rivot2" src="rivot.png" alt="KKS Services Ltd Rivot"/>
<img class="rivot3" src="rivot.png" alt="KKS Services Ltd Rivot"/>
<img class="rivot4" src="rivot.png" alt="KKS Services Ltd Rivot"/>
</header>
<section>
<article>
<img class="railings" src="index_rail.png" alt="KKS Services Gates and Railings"/>
 <div id="welcome">
<h1 class="welcome">Welcome</h1>

CSS

.slogan{
position: relative;
width: 960px;
margin-left: auto;
margin-right: auto;
left: 10px;
top: -5px;
color: white;
font-size: 1.3em;
font-family: 'Aldrich', cursive;
}
.kks_logo{
position: relative;
top: 50px;
}
.head_contact{
font-family: 'Aldrich', sans-serif;
position: relative;
left: 10px;
top: -175px;
font-size: 1.5em;
text-align: right;
}
ul#nav_main li{
display: inline;
padding: 26px;
}
ul#nav_main li a{
text-decoration: none;
color: white;
font-family: 'Aldrich', sans-serif;
font-size: 1.4em;
position: relative;
top: 13px;
}
#welcome{
position: relative;
top: -267px;
left: 70px;
width: 840px;
height: 35px;
background-color: rgba(0,0,0,0.6);
border-radius: 5px;
}
#welcome h1{
color: white;
font-family: 'Aldrich', sans-serif;
padding: 10px;
font-size: 200%;
position: relative;
top: -5px;
left: 10px;
}

谢谢!

【问题讨论】:

  • 这就是为什么您不应该对所有内容都使用绝对和/或相对定位的原因...为了解决它,您需要重新构建 CSS(推荐)或使用媒体查询和/或 Javascript 来补偿。
  • 好的,在重构 CSS 代码方面,您建议最好使用什么来代替相对位置和绝对位置?
  • 您是否正在重置默认浏览器规则?您在每个系统上使用的浏览器是什么?
  • @DrydenLong 我不得不说这是我曾经在这里看到的最糟糕的建议...
  • @DrydenLong 这就是方法。无论如何,这是未解决的默认浏览器规则正在扼杀这里的布局......并且每个都有一些不同的渲染(这很好)。

标签: html css windows macos nav


【解决方案1】:

问题在于浏览器具有不同的默认样式。两种显示页面的方式都没有错,它们只是不同而已。

您已经补偿了一种浏览器的默认样式,这使它在所有其他浏览器中看起来完全不同。只要你补偿默认样式而不是覆盖它们,你就会遇到这个问题。

例如,对于.slogan 样式,您应该将顶部和底部边距设置为零,而不是使用相对定位来补偿默认边距。您可以使用line-height 使文本在元素中垂直居中,而不是向上或向下移动以使其居中。

例子:

.slogan{
  width: 960px;
  line-height: 30px;
  margin: 0 auto;
  color: white;
  font-size: 1.3em;
  font-family: 'Aldrich', cursive;
}

【讨论】:

  • 非常感谢您在这里的示例。在修改了我的 CSS 之后,删除了一些相对定位并使用 line-height 使其在两个操作系统上都非常完美。
  • Guffa,我有同样的问题,但我和我的朋友使用 Chrome。但她有 Linux,我有 Windows。即使是相同的浏览器但不同的操作系统也有关系吗?
  • @UlviEnzo:是的,有很多因素会影响网页的显示方式,因此即使您使用相同的浏览器和相同的操作系统,也可能存在差异。其他因素包括浏览器版本、屏幕分辨率、操作系统字体渲染设置、操作系统字体缩放设置、屏幕校准、浏览器缩放,仅举一些最常见的。让网页在所有情况下看起来都相同是不可能的,您只需要找到差异影响最小的解决方案。
【解决方案2】:

不同的浏览器有不同的 CSS 预设或默认值。因此,默认渲染会有所不同。为了解决这个问题,您可以使用 CSS 重置样式表。这是一个效果很好的方法:

http://meyerweb.com/eric/tools/css/reset/

使用重置样式表将删除所有浏览器默认设置。然后,您可以添加自己的边距/填充样式。这可能需要对您当前的 CSS 值进行一些调整,但总体上有助于使您的 CSS 跨浏览器兼容。

【讨论】:

  • +1 但值得一提的是,有时那些重置 CSS 有点过头了,如果可能且适用,您应该毫不犹豫地自己编写。
  • +1 绝对。 “通用”重置样式表将尝试覆盖几乎所有适用的标记标签。您可能会发现只重置您正在使用的标签更合适。
【解决方案3】:

我知道这是一个旧线程,但我想我会提供另一个答案...我使用的一个解决方案是使用 js 检测操作系统,并在正文上设置一个表示操作系统的类。

//Windows
if (navigator.appVersion.indexOf("Win") != -1){
  document.getElementsByTagName("body")[0].classList.add("win");  
}
//Mac
else if (navigator.appVersion.indexOf("Mac") != -1){
  document.getElementsByTagName("body")[0].classList.add("mac");
}

然后在你的css中你可以为你需要的特定场景制定特殊规则:

.some-class-name{
  margin-top: 3px;
}

.mac .some-class-name{
  margin-top: 5px;
}

【讨论】:

    猜你喜欢
    • 2022-07-22
    • 1970-01-01
    • 2021-10-26
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多