我是编码和 CSS 领域的新手,并且注意到当我调整浏览器大小时,所有浮动元素都会移动到右侧,并且用户被迫水平滚动才能查看菜单。
首先是否需要防止浮动元素不改变其位置?
其次,如果我应该预防的话,有没有办法可以避免这种情况?
浮动是一个痛苦的事情。主要是因为一种浏览器拒绝遵循通用网络标准。是的,就是那个。
有一百万零一个技巧可以避免这些问题。我告诉我的团队遵循以下步骤:
- 谨慎使用绝对定位的元素。如果您基于另一个元素进行定位,事物可以“自动调整”,但当事物在数学上粘在一个点上时,情况就不会那么多了。它们有自己的位置,只是不是在页面上的每个元素上。
- 考虑“重置”或基于网格的 CSS 布局。我个人比较喜欢960格 http://www.960.gs他们从各种不同的浏览器中消除了猜测。 IE 会把你的 padding 推出去吗?对于 Firefox,IE 特定的填充会过多或过少吗?通过重置和/或网格,这没什么大不了的。
- 在计算百分比时(我个人非常喜欢),请记住,浏览器通常不使用数学,其中 1 + 1 = 2。也就是说,如果您有 1000 像素的空间,并且并排计算两个 50% 的列,那么有可能非常好,一个会把自己推到另一个之下。为什么?因为浮动、边距、边框等加起来,并且在不同的浏览器中都有所不同。因此,设计时请考虑 .9 + .9 = 2。它一直有效吗?没有。但这是一个开始。
- 测试,测试,测试。 browsershots、Adobe 浏览器实验室等都是您的朋友。不断使用它们可以确保您发布出在所有平台上看起来一致的高质量代码。
- 把事情简单化。您可能正在开发一个项目,该项目规定了 100 个不同的样式表,涵盖每个浏览器的每个版本。我们大多数人都以现实世界的预算从事现实世界的项目……这意味着您必须快速有效地部署。使用高质量的 w3 兼容代码和高质量的 CSS,您可以完全避免黑客攻击。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)