【发布时间】:2012-06-04 15:37:08
【问题描述】:
这让我发疯了!我在 Stackoverflow 上查看了一些问题,发现 ID 元素优先于类元素(很高兴知道,但我觉得这不是我的问题)。 这是我正在努力解决的导航菜单。 (顺便说一句,我使用最大宽度)
这是我的 NAV 的通用 CSS:
nav{ float:right; margin-left:2%;}
nav ul{ float:left; list-style:none; width:100%;}
nav ul li{ float:left; margin-left:5px; }
nav a{ display:inline-block; float:left; color:#f0f0f0; text-transform:uppercase;
font-family:TrumpGothicWestRegular; font-size:1.5em; padding: 100px 20px 20px 20px; }
现在当视口小于 1140 像素时,我希望 CSS 像这样更改菜单:
nav ul li{ float:left;}
nav a{ float:left; display:inline-block; padding: 20px 20px 20px 20px;}
所以基本上菜单会向左浮动,顶部填充较少。
当视口小于 800 像素时,我希望 CSS 像这样更改菜单:
nav ul li{ float:none;}
nav a{ float:none; padding: 20px 20px 20px 20px;}
如您所见,我只将 NAV Float 更改为 NONE
现在,当我测试它时,GENERAL CSS 工作正常,当视口低于 1140 像素时,但当我低于 800 像素时,NAV 仍然向左浮动!!??好像是继承了1140px的CSS媒体查询? 有什么想法吗?
更新: 这就是我定义媒体查询的方式
<link rel="stylesheet" media="only screen and (max-width: 800px), only screen and
(max-device-width: 800px)" href="small-device800.css" />
<link rel="stylesheet" media="only screen and (max-width: 1140px), only screen and
(max-device-width: 1140px)" href="small-device1140.css" />
【问题讨论】:
-
尝试将
!important添加到您的float:none规则中;尝试在 chrome 开发人员工具或您选择的浏览器中的等效工具中检查元素的活动样式和覆盖。此外,您还没有描述有问题的实际媒体查询。 -
我是响应式设计和媒体查询的新手。我不确定您对“描述您的实际媒体查询有问题。”是什么意思?上面的 CSS 只是我的媒体查询 css 文件中 CSS 的 sn-ps。
-
你可以为你的问题创建一个 jsfiddle 吗??这对我们回答你很有帮助
-
媒体查询在你加载css的
<link>标签中定义,或者在css文件中的@include规则中定义。您只提示您使用max-width,但您的问题中缺少您使用的实际查询。不过,我相信其他具有更高特异性的规则更有可能覆盖您的float规则。 -
媒体查询是 CSS 中描述何时使用不同类的先决条件的部分。如:“当宽度css3.info/preview/media-queries
标签: css html media-queries responsive-design fluid-layout