【问题标题】:CSS Reset not workingCSS重置不起作用
【发布时间】:2011-10-14 20:49:43
【问题描述】:

我一直在制作一个小照片滑块。它在 Chrome 中看起来与在 FF 中略有不同,所以我认为 CSS 重置会使它们看起来相同。我用的是雅虎! YUI CSS 重置模型但没有任何改变。它在 FF 中看起来不错,但在 Chrome 中,右侧的“恢复”按钮太高,大图片底部的一条细灰线在主按钮所在的位置被切断。这是网址:

http://www.replayground.com/slider/02.html

您可以忽略圆圈下方的内容。只是测试那里的东西。

这是我添加到 02.html 文件中的内容:

<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.9.0/build/reset/reset-min.css">

我真的很想获得有关如何使 CSS 重置正常工作的建议。不是如何解决您看到的特定按钮问题。当我向页面添加元素时,我不想每次都经历这个。

【问题讨论】:

    标签: css reset css-reset


    【解决方案1】:

    CSS 重置并非旨在使所有其余的 CSS 跨浏览器。它旨在将所有不同浏览器上的所有客户端默认规则设置为同一事物,以便您始终使用一组可预测的 CSS 规则。浏览器如何解释这些规则仍然是每个特定的。

    在您的情况下,您仍然需要弄清楚如何编写在 Chrome 和 FF 中运行相同的 CSS 规则 - 重置只是使您的起点稍微平整一点,它不会消除浏览器呈现的差异。

    您可能会发现一个跨浏览器 CSS 框架(例如 blueprintcss.org960.gs)对您当前的情况更有帮助。他们经常使用重置,但也有一些规则来补偿重置后 CSS 规则的呈现差异。

    【讨论】:

      【解决方案2】:

      jball 关于重置是非常正确的。它们只是允许您从空白页面开始,但您仍应编写适当的文档结构和良好的 CSS 以获得良好且一致的结果。

      在您的情况下,您页面中的所有元素在页面中都是松散的。这最终会给你带来麻烦。有些东西会移动几个像素,尤其是当您没有为每个项目指定确切的高度时。每个浏览器以不同的高度呈现字体。这些可能是十分之一的像素,但是当它们四舍五入时,您的网站在浏览器之间会有些偏差。

      当您使用更深的元素嵌套时,您可以更好地利用定位元素(相对和绝对)。如果你为标题放入一个特定的 div,并给它一个固定的大小,你可以非常精确地定位每个元素,这对于标题和菜单特别方便。

      我冒昧地创建了一个小例子,它只是展示了一些定位的基础知识。它并不完美,并且使用色彩鲜艳的边框代替图像进行布局。但这只是为了显示元素嵌套以及绝对和相对定位,以及负边距技巧。 http://jsfiddle.net/YwCxQ/3/

      【讨论】:

      • 哇,感谢您创建此示例。我要去玩它,看看我能找到什么。
      • 其实我想通了。我的 CSS 文件中有这一行:margin:1em 0px;当我将其更改为: margin: 13px 0px;然后一切正常。一定是某个浏览器将单位“em”解释为略有不同。
      • 这很有可能。混合像素和点(我认为 em=12pt)很难做到正确。使用点,尤其是字体大小和行高,通常用于支持视觉障碍。在浏览器中设置较大的字体大小会影响具有 pt 或 em 大小的文本(和其他元素)。在最新的浏览器中,缩放整个页面更容易,但它们仍然具有此文本缩放功能。然而,许多网站建设者使用像素值(甚至是字体大小)来强制他们的页面在所有浏览器上看起来都完全相同。
      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 2011-08-27
      • 2015-11-16
      • 1970-01-01
      相关资源
      最近更新 更多