Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 调整浏览器大小时,是否可以避免浮动元素移动?_Html_Css_Css Float - Fatal编程技术网

Html 调整浏览器大小时,是否可以避免浮动元素移动?

Html 调整浏览器大小时,是否可以避免浮动元素移动?,html,css,css-float,Html,Css,Css Float,我对编码和CSS都是新手,我注意到当我调整浏览器大小时,所有的浮动元素都会向右移动,用户被迫水平滚动以查看菜单 首先,是否需要防止浮动元件不改变其位置 其次,如果我应该阻止它,有什么方法可以避免它吗?我建议您根据您的目标受众确定是否支持不同的解决方案。元素四处移动并不一定是件坏事,根据视口大小提前规划站点布局可能很重要 如果你找不到一个适合你需要的固定宽度,“一个布局来管理所有的布局”,看看吧。有关它们的更实用的文章,请尝试 其基本思想是,使用不同的样式表(取决于大小),基本上可以根据用户的视口

我对编码和CSS都是新手,我注意到当我调整浏览器大小时,所有的浮动元素都会向右移动,用户被迫水平滚动以查看菜单

首先,是否需要防止浮动元件不改变其位置


其次,如果我应该阻止它,有什么方法可以避免它吗?

我建议您根据您的目标受众确定是否支持不同的解决方案。元素四处移动并不一定是件坏事,根据视口大小提前规划站点布局可能很重要

如果你找不到一个适合你需要的固定宽度,“一个布局来管理所有的布局”,看看吧。有关它们的更实用的文章,请尝试


其基本思想是,使用不同的样式表(取决于大小),基本上可以根据用户的视口向用户显示不同的布局。调整浏览器大小的用户也将能够动态地看到新的布局。

浮动是一个棘手的问题。主要是因为有一款浏览器拒绝遵循通用网络标准。是的,那个

要避免这些问题,有无数的窍门。我告诉我的团队遵循以下步骤:

  • 谨慎使用绝对定位的元素。如果你基于另一个元素定位,事物可以“自动调整”,但当事物在数学上粘在一个点上时,就不会这么多了。它们有自己的位置,只是不在页面上的每个元素上
  • 考虑“重置”或基于网格的CSS布局。我个人更喜欢他们从各种不同的浏览器中排除猜测。把你的垫子推出来好吗?在Firefox中,IE特有的填充是太多还是太少?有了重置和/或电网,这没什么大不了的
  • 当计算百分比(我个人非常喜欢)时,请记住浏览器通常不使用1+1=2的数学。也就是说,如果你有一个1000像素的空间,你并排做两个50%的列,很有可能其中一个将自己推到另一个下面。为什么?因为浮动、边距、边框等加起来在不同的浏览器中都是不同的。所以,当你设计时,想想.9+.9=2。它一直有效吗?不。但这只是一个开始
  • 测试,测试,测试。像浏览器快照、Adobe浏览器实验室等都是你的朋友。经常使用它们,以确保生成的代码质量良好,在所有平台上看起来都是一致的
  • 保持简单。您可能正在处理一个项目,该项目指定了100个不同的样式表,涵盖每个浏览器的每个版本。我们中的大多数人都使用真实世界的预算从事真实世界的项目……这意味着您必须快速高效地部署。使用符合w3标准的优质代码和优质CSS,您可以完全避免黑客攻击

  • 将布局封装在一个固定宽度的容器中,这样它在窗口打开时不会改变大小,从而防止布局回流。尝试将div(如果存在)定位为绝对值。尽管一项工作正在进行(尽管几乎被放弃),但您是否正试图完成?只需移动框,然后重新调整浏览器的大小。编辑:是为了在Google Chrome中使用而构建的。@Shaz-不是真的。我试图理解,当我调整浏览器大小时,为什么我的浮动元素会移动/改变位置,以及我是否应该按照Marc B的建议将它们放在固定容器中。我很好奇你的说法,即元素移动不一定是件坏事。为什么呢?什么时候不要紧?看看我链接的响应性设计文章,考虑到可能访问站点的各种设备可能很重要。(当然,这在很大程度上取决于你的目标受众:)@bpeterson76-谢谢。我知道文章和答案可能是主观的,但我想知道什么时候我会使用定位元素而不是浮动元素。@bpeterson76-我看过960,但我对如何使用它感到困惑。我是否下载特定的模板?例如,我查看了grids.heroku.com,但是我不确定列大小等如何影响我的布局网格是一个非常基本的概念。在屏幕上绘制网格…通常使用12或16列(但可以多多少少)。所有的东西都必须放在那些柱子里。在960格(960像素宽)的情况下,12格布局的每列将为80像素。想要160像素宽的吗?然后它是一个“grid_2”或两列宽的元素。有些生成器非常棒,在开始编写代码之前请仔细考虑。@Peanuts,在绝对定位元素上,我的经验法则是仅在绝对需要该功能时使用。99%的时间可以通过相对定位完成基本定位。对于必须位于其他元素之上的元素(使用z索引帮助)或倾斜于容器的元素,使用浮动。当您必须修改布局时,相对定位的元素与其父元素一起流动,因此修改不会那么痛苦。使用absolute时,您必须不断更改顶部和左侧的声明,这会很快变老。@bpeterson76-谢谢。所以当你说这个列是80像素时,我假设它是80像素宽。那么你的意思是说元素必须适合80像素的宽度吗?如果是这样的话,我很难想象我是如何做到这一点的。