@media与css先后顺序产生的优先级问题

缘起:我新到一个公司,接手一个以前的项目。在谷歌模拟器上调试苹果系列的效果,总是调节不好。

期间:困扰了我好大一会儿,不和常规呀,难道是鬼打墙了?

真相:@media screen and (max-width: 800px) {}的样式应该放到后面,不应该放到没有@media的前面。

原因:很简单。@media是对条件才查询,但是它也遵守css的优先级顺序。

@media screen and (max-width: 800px) {
    p {
        background-color:lightblue;
        font-size: 24px;
    }
}
p {
    background-color:lightgreen;
    font-size: 48px;
}

这样的样式,即使满足了,查询条件,标签p里的文字还是48px。后面的样式会覆盖之前的。

所以正确的写法应该是:

p {
    background-color:lightgreen;
    font-size: 48px;
}

@media screen and (max-width: 800px) {
    p {
        background-color:lightblue;
        font-size: 24px;
    }
}

在回到项目中,由于之前的人,把@media写在了上面,所以导致@media里的样式怎么也不起作用。因为被后来的覆盖了。 

时间: 2024-08-07 16:34:22

@media与css先后顺序产生的优先级问题的相关文章

CSS书写顺序

CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景(background, border等) 5.其他(animation, transition等) CSS书写规范 使用CSS缩写属性 CSS有些属性是可以缩写的,比

css书写顺序和常用命名推荐

写代码的时候有一个好的规范和顺序能够帮你节省很多时间.下文将推荐相关CSS书写顺序和规范的一些方法.这个文档将会整理进前端规范文档中,如果你有更好的意见,不妨留言告知我们. CSS书写顺序 该代码来自于互联网,最初好像是Mozilla的网站上. 1. Display & Flow(显示与流) 2. Positioning(位置) 3. Dimensions(尺寸) 4. Padding, Borders,Margins,Outline(填充.边界.边缘.轮廓) 5. Typographic St

css的核心原理分为优先级原则与继承原则两大部分

css原理:1.优先原则=>后解析的内容会覆盖之前解析的内容(所谓解析就是读取的css样式)2.继承原则=>嵌套里面的标签拥有外部标签的某些样式,子元素可以继承父元素的属性 1>优先原则针对选择器:a.同一个选择器从上往下读取执行css样式 b.同一类选择器从上往下执行 c.不同类型的选择器优先级,先执行低优先级再执行高优先级,比方基本选择器就是从*通配符<标签div<class选择器<id选择器 d.外部样式与内部样式合并之后再一起执行,根据从上往下执行顺序读取 e.

css的存在形式以及优先级

css的存在形式以及优先级 css不仅仅可以在每个head标签中定义,而且也可以写在一个文件中,每个页面即可进行引用,这样可以做到重复利用. css文件的写法如下: common.css .c1{ height: 48px; width: auto; border: 1px solid red; font-size: 16px; text-align: center; line-height: 48px; } #i{ height: 48px; width: auto; border: 1px

标准化css属性顺序

前言 对于css文件而言,选择器的写法有它的讲究,如—— 1> 不要用ID选择器 2> 不要用通配符*选择器 3> 选择器的层级 ...... 对于属性值的写法也有他的讲究,如—— 1> 复合属性,如font.background.margin.padding等 2> 颜色.单位.hack.css3属性等 ...... 大家往往忽略一点,便是属性的书写顺序. 来自http://mdo.github.io/code-guide/,它所提倡的css属性顺序如下—— 1> P

css选择器顺序的小技巧

在线演示 本地下载 css的选择器的顺序其实很有意思,如果应用的好的话,可以做一些简单的逻辑出来,配合上css3,就可以尽可能的脱离js了. 这里的演示是一个带有hover事件的四张照片,效果来自一个国外优秀单页,我在recode的时候做的,看源码他应该是用的js,我这里改成了css做,正好可以演示一下css选择器的顺序技巧. 首先是li标签的样式,这里就不说了,主要说一下hover的操作. 显示ul的hover,让所有的li标签缩短宽度. ....... 原文来自:css选择器顺序的小技巧

ShutdownHookManager顺序并有优先级的Hook

RM源码中实现了一个有序并有优先级的Hook,ShutdownHookManager相比JVM本身的执行Hook方式具有如下两种特性(默认JVM执行,无序,并发) 1.顺序 2.有优先级 ++++++++ 类被初始化时候执行 1.设置shutdownInProgress标示 2.执行Hook按照调度优先级 private AtomicBoolean shutdownInProgress = new AtomicBoolean(false); static {   Runtime.getRunti

css层叠顺序

css层叠规则及各个选择器的特殊性. 1.有!important的规则的权重要高于没有的,有!important的规则优先级最高. 2.按特殊性对规则进行排序,各个选择器的特殊性为: 内联样式(即在html中声明的css)的特殊性为:1000 ID选择器的特殊性为:100 类属性值(class).伪类(:not).属性选择器([id=""])的特殊性为:10 各个元素和伪元素(:first-letter,first-line,before,after) 特殊性为:1 通配选择器(*)的

css的存在形式及优先级

1. 查看源代码---在谷歌浏览器中右击-->点检查 2. CSS中style优先级,标签上的style优先,其它按照编写顺序越更新越优先,后面的会把前面的覆盖掉. 3. 如果想在其它的html文件中也用当前文件中的style的话,可以在根目录下创建一个CSS样板文件,名字为:commons.css. 在commons.css 把样式写进去. 在s12.html和s13.html引入一下,这样s12.html和s13.html 就都可以应用这个样式了.这样重用性就大大提高了. href 指的是