gpt4 book ai didi

html - 如何根据窗口宽度加载不同的css文件 : smaller size not recognized

转载 作者:太空狗 更新时间:2023-10-29 13:44:34 25 4
gpt4 key购买 nike

如果窗口大小低于 500 像素,我想加载一个不同的 css 文件。我有

<link type="text/css" media='(max-width: 500px)' rel="stylesheet" href="/static/mobile.css" />
<link type="text/css" media='(min-width: 500px)' rel='stylesheet' href='/static/main.css' />

但是 main.css 总是覆盖 mobile.css,尽管窗口小于 500px。怎么了?

编辑:我改成了

<link type="text/css" rel="stylesheet" href="/static/main.css" />
<link type="text/css" media="(max-width: 500px)" rel="stylesheet" href="/static/mobile.css" />

但是当我将窗口缩小到小于 500px 时,元素检查器显示正在加载 mobile.css,但每个元素都被 main.css 中的规范覆盖。

最佳答案

CSS 代表CASCADING STYLE SHEETS,这意味着您应该始终将 样式表放在顶部,然后在其下方放置辅助样式表。您越确定要在文件中使用 CSS 而不是其他 CSS 文件,它应该越靠下/在其他 CSS 文件之后。

<link href="themes/default/primary.css" rel="stylesheet" type="text/css" />
<link href="themes/default/secondary.css" rel="stylesheet" type="text/css" />
<link href="themes/default/tertiary.css" rel="stylesheet" type="text/css" />

如果次要文件中的规则与主要文件中的规则相匹配,那么因为次要文件在 primary.css 之后级联,所以它具有优先权。与 tertiary.css 文件及其规则相同,它将取代 secondary.css 文件的规则。

现在应用你的问题...

获取所有主要 CSS 文件,然后添加屏幕特定的 CSS 文件...

<head>
<link href="themes/default/primary.css" rel="stylesheet" type="text/css" />
<link href="themes/default/secondary.css" rel="stylesheet" type="text/css" />
<link href="themes/default/tertiary.css" rel="stylesheet" type="text/css" />
<link href="/static/mobile.css" media="(max-width: 500px)" rel="stylesheet" type="text/css" />
<link href="/static/main.css" media="(min-width: 500px)" rel="stylesheet" type="text/css" />
</head>

同时尝试让您的 HTML 属性按字母顺序排列,如果您前进得足够多,您会发现像这样的小花絮会为您省去很多麻烦,并坚持对元素属性使用双引号。


这当然回答了这个问题,但您真正应该做的是最小化您的 HTTP 请求,如果您要对 CSS 文件发出 HTTP 请求。无论 CSS 本身是什么地方,您都应该使用媒体查询。

main {margin: 4%;}
section {border-width: 10px;}
@media (max-width: 1024px)
{
main {margin: 4px;}
section {border-width: 2px;}
}

始终首先在最高分辨率下测试您的代码;我有充分的理由忽略“移动优先”的心态:我理解应该编写 CSS。您的媒体查询应该靠近底部,以针对同一网站的平板电脑和(移动)手机 View 进行调整。考虑以下代码:

CSS

div {border: #000 solid 2px; float: left; width: 96px;}

HTML

<section>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
<div>Example</div>
</section>

...当您调整浏览器大小时,此示例中的 div 元素将简单地开始向下推到第二行,并且您将浏览器窗口的大小调整为更小。平板电脑和移动设备只是缩小了窗口大小。我强烈建议在 Chris Pederick's Web Developer Toolbar 上使用Resize 工具.

Chris Pederick's Web Developer Toolbar Resize Menu

关于html - 如何根据窗口宽度加载不同的css文件 : smaller size not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com