从外部CSS

时间:2016-10-31 02:14:39

标签: css media-queries mute w3.css

我在页面中使用W3CSS样式表来显示使用 ul 列表的菜单。 它工作正常,但它很快就会根据我的需要切换到最小的风格。

第158,159和160行涉及3个媒体查询,当视口大小等于或小于600px时会发生变化:

@media screen and (max-width:600px){.w3-topnav a{display:block}.w3-navbar li:not(.w3-opennav){float:none;width:100%!important}.w3-navbar li.w3-right{float:none!important}} 
@media screen and (max-width:600px){.w3-topnav .w3-dropdown-hover .w3-dropdown-content,.w3-navbar .w3-dropdown-click .w3-dropdown-content,.w3-navbar .w3-dropdown-hover .w3-dropdown-content{position:relative}}    
@media screen and (max-width:600px){.w3-topnav,.w3-navbar{text-align:center}}

我希望它切换到350px,但我希望每次需要应用任何修改时都避免编辑w3.css文件,这也是因为我也在其他页面中使用该文件,我需要那里的默认行为。

有没有办法让我的任何CSS中的w3.css媒体查询静音?基于Javascript的解决方案被接受,但如果可能的话,我想避免这些。

非常感谢您提前

修改

我不确定我的要求是否足够清楚,所以我会在这里重新定义它。

我想从w3.css文件中静音那些媒体查询,因此我可以使用max-width:350px而不是600px在我的CSS文件中覆盖它们。

2 个答案:

答案 0 :(得分:0)

您可以做的是创建custom.css样式表并在标题区域中加载最后一个样式表。这将依次加载您的CSS样式表作为覆盖。

答案 1 :(得分:0)

在查看应用于元素的各种样式并隔离.w3-navbar类相关样式之后,我已经能够修改行为以满足我的需要,而无需修改原始的w3.css样式表。

首先,我已经在600px处恢复了媒体查询的样式:

@media screen and (max-width:600px){
    /* reverting the effects of the original @media query */

    .w3-navbar li:not(.w3-opennav){float:left; width: initial!important}
    .w3-navbar li.w3-right{float: right !important;}
    .w3-navbar .w3-dropdown-click .w3-dropdown-content,
    .w3-navbar .w3-dropdown-hover .w3-dropdown-content{position:static}
    .w3-navbar{text-align:initial}
}

然后我将原始的w3.css样式添加到350px的媒体查询:

@media screen and (max-width:350px){
    /* these styles are the same as the ones in the original w3.css stylesheet,
       in @media screen and (max-width: 600px), lines 158 to 160 */

    .w3-navbar li:not(.w3-opennav){float: none; width: 100%!important}
    .w3-navbar li.w3-right{float: none !important;}
    .w3-navbar .w3-dropdown-click .w3-dropdown-content,
    .w3-navbar .w3-dropdown-hover .w3-dropdown-content{position:relative}
    .w3-navbar{text-align:center}
}

上面的样式需要放在加载after w3.css样式表的自定义样式表中。

这不是一个快速的解决方案,涉及对原始样式表的大量研究。在我的情况下,有200行左右,这是一个几乎容易的任务。

对于较大的样式表,我强烈建议您编写自己的样式,这将花费您更少的时间,您将知道发生了什么。