CSS媒体查询(含案例)

这篇具有很好参考价值的文章主要介绍了CSS媒体查询(含案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

什么是媒体查询

媒体查询基础

媒体类型

媒体特征规则

min-width与max-width(宽高)

朝向

复杂的媒体查询

实例

响应式导航栏

创建弹性布局


什么是媒体查询

        随着移动设备的快速普及,用户不再只是通过传统的电脑系来浏览 Web 内容,越来越多的用户使用各种尺寸的手机、电脑或者其它设备来浏览 Web 内容,为了确保应用在不同设备中呈现美观的界面样式,让用户拥有一个良好的体验,这就需要用到媒体查询。
        媒体查询是 CSS 最重要的功能之一,所谓媒体查询指的就是根据不同的媒体类型(设备类型)和条件来区分各种设备(例如:电脑、手机、平板电脑等),并为它们分别定制 CSS 样式。媒体查询能让 CSS 可以更精确的作用于不同的设备或同一设备的不同条件,让所有用户在不同的设备中都能得到很好的用户体验。

媒体查询基础

最简单的媒体查询语法如下:

@media media-type and (media-feature-rule) {
  /* CSS 样式 */
}

它由以下部分组成:

  • 一个媒体类型,告诉浏览器这段代码是用在什么类型的媒体上的(例如印刷品或者屏幕);
  • 一个媒体表达式,是一个被包含的 CSS 生效所需的规则或者测试;
  • 一组 CSS 规则,会在测试通过且媒体类型正确的时候应用。

媒体类型

你可以指定的媒体类型为:

  • all  所有设备
  • print  打印机等设备
  • screen  彩色屏幕(手机,电脑)
  • speech  有声读物设备

下面的媒体查询将会在所有页面把 body 设定为只有 12pt 大小。

@media all {
    body {
        font-size: 12pt;
    }
}

媒体特征规则

        媒体特征规则指的是根据不同屏幕大小适配不同的css,比如在屏幕宽度大于或者小于某个大小或者恰好等于某个大小的时候应用我们规定的css样式。

        一般来说,我们可以使用min-widthmax-widthwidth媒体特征。通过设置这些特征,实现响应式布局,能够响应不同屏幕大小,给用户一个良好的使用体验。

        例如,要想在屏幕宽度正好是 960 像素的时候,让 body 的文本变为红色,我们会用如下规则:

@media screen and (width: 960px) {
    body {
        color: red;
    }
}

min-width与max-width(宽高)

为了让width能够以范围来使用,就出现了min-width与max-width,指的是最小值与最大值。

例如下列代码,min-width:960px,最小宽度为960,指的是大于960px的字体颜色都为blue。

@media screen and (min-width: 960px) {
    body {
        color: blue;
    }
}

一般来说我们用min-width时,会从小到大开始写,而max-width则从大到小开始写。

/width>=960的设备*/
@media (min-width: 960px){
    body{font-size: 16px}
}
 
/*>=1280的设备*/
@media (min-width: 1280px) {
    body{font-size: 20px;}
} 
 
/*>=1360的设备*/
@media (min-width: 1360px) {
    body{font-size: 24px;}
}  
 
/*>=1440的设备*/
@media (min-width: 1440px) {
     body{font-size: 26px;}
} 
 
/*>=1680的设备*/
@media (min-width: 1680px) {
    body{font-size: 28px;}
} 
 
/*>=1960的设备*/
@media (min-width: 1960px) {
    body{font-size: 32px;}
} 

朝向

        朝向指的是我们手机处于横屏还是竖屏状态,根据横屏竖屏设置css样式。我们可以用它测得竖放(portrait mode)和横放(landscape mode)模式。当我们要在设备处于横向的时候改变 body 字体大小可以使用以下:

@media (orientation: landscape) {
    body {
        font-size:14pt;
    }
}

复杂的媒体查询

为了混合媒体特征,实现复杂的媒体查询,我们可以用and来混合媒体类型和特征。例如,我们想要屏幕宽度至少为 400 px,且设备横放时变为蓝色,那么我们需要采用以下形式。

@media screen and (min-width: 400px) and (orientation: landscape) {
    body {
        color: blue;
    }
}

如果我们想要 屏幕宽度至少为 400 px 或者 设备横放时都能采用一个css样式,我们可以使用或,比如:

@media screen and (min-width: 400px), screen and (orientation: landscape) {
    body {
        color: blue;
    }
}

如果我们在某个媒体查询不想设置某个样式,我们可以采用not,比以下,横屏的字体颜色讲不会为蓝色。

@media not all and (orientation: landscape) {
    body {
        color: blue;
    }
}

实例

响应式导航栏

用媒体查询制作导航栏,分别适配大屏幕与宽度小于600px的屏幕

CSS媒体查询(含案例)

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}

/* 设置顶部导航栏样式 */
.navbar {
  overflow: hidden;
  background-color: #222;
}

/* 设置 topnav 链接的样式 */
.navbar a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* 悬停时改变颜色 */
.navbar a:hover {
  background-color: #ddd;
  color: black;
}

/* 在宽度为 600 像素或更小的屏幕*/
@media screen and (max-width: 600px) {
  .navbar a {
    float: none;
    width: 100%;
  }
}
</style>
</head>
<body>

<h1>响应式导航菜单</h1>
<div class="navbar">
  <a href="#">主页</a>
  <a href="#">关于</a>
  <a href="#">联系我们</a>
</div>

</body>
</html>

创建弹性布局

可以窗口调试查看效果

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}

/* 创建彼此相邻浮动的四个等列 */
.column {
  float: left;
  width: 25%;
  padding: 20px;
}

/* 清除列后的浮动 */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* 在 992px 或更小的屏幕上,从四列变为两列 */
@media screen and (max-width: 992px) {
  .column {
    width: 50%;
  }
}

/* 在宽度小于或等于 600px 的屏幕上,使列堆叠在一起,而不是彼此相邻 */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  }
}
</style>
</head>
<body>

<h1>响应式四列布局</h1>
<p><b>请调整浏览器窗口的大小以查看响应效果。</p>

<div class="row">
  <div class="column" style="background-color:#aaa;">
    <h2>1</h2>
  </div>
  
  <div class="column" style="background-color:#bbb;">
    <h2>2</h2>
  </div>
  
  <div class="column" style="background-color:#ccc;">
    <h2> 3</h2>
  </div>
  
  <div class="column" style="background-color:#ddd;">
    <h2>4</h2>
  </div>
</div>

</body>
</html>

以上内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 加油!!!
如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 感谢! ! !文章来源地址https://www.toymoban.com/news/detail-494341.html

到了这里,关于CSS媒体查询(含案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 零基础学前端(二)用简单案例去理解 HTML 、CSS 、JavaScript 概念

    该篇适用于从零基础学习前端的小白 初学者不懂代码得含义也要坚持模仿逐行敲代码,以身体感悟带动头脑去理解新知识 HTML,CSS,JavaScript 都是单独的语言;他们构成前端技术基础; (1)HTML:负责网页的架构; (2)CSS:负责网页的样式,美化; (3)JavaScript(JS):负责

    2024年02月08日
    浏览(54)
  • 前端基础(CSS)——css介绍 & 常用样式 & 案例—进化到Bootstrap——进化到Element-UI(未完待续)

    css是什么,层叠样式表, css作用:让html网页有布局,变漂亮 参考w3school 以p标签为例, 序号 位置 优先级 1 写在p标签内 最高 2 写在style内 第二 3 写在link内 最低 (1)标签选择器—div{} 标签选择器,选择html文档中所有的div,对所有的div进行设置 (2)id选择器----#div01{} 符号

    2024年02月08日
    浏览(60)
  • css基础知识十八:CSS如何画一个三角形?原理是什么?

    一、前言 在前端开发的时候,我们有时候会需要用到一个三角形的形状,比如地址选择或者播放器里面播放按钮 通常情况下,我们会使用图片或者svg去完成三角形效果图,但如果单纯使用css如何完成一个三角形呢? 实现过程似乎也并不困难,通过边框就可完成 二、实现过程

    2024年02月13日
    浏览(55)
  • 媒体查询及使用

    媒体查询 (Media Query)是CSS3新语法。         媒体查询可以根据当前显示设备的特性(如: 视口宽度, 屏幕比例,设备显示方向)为其添加css样式, 使用媒体查询可以在不改变页面内容的情况下为特定的设备显示特定的样式。如果没有媒体查询就不能。媒体查询能够帮助我们

    2024年02月06日
    浏览(30)
  • 前端开发基础(HTML5 + CSS3)【第一篇】:HTML标签之文字排版、图片、链接、音频、视频 && 涵盖了两个综合案例 做到了基础学得会,实战写的出

    点击前往前端开发基础专栏: 一、开发环境搭建 这里google浏览器不能用我们就使用电脑自带的微软浏览器就可以了! 下载 VS Code VS Code 官网下载地址 这里根据自己电脑的操作系统进行下载! 安装步骤如下: (是在不知道如何操作,可以找个教程一步一步来) 安装这个还是

    2024年04月16日
    浏览(63)
  • DVPP媒体数据处理视频编码问题案例

    DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于 D VPP 视频编码 问题的典型案例,并给出原因分析及解决方法:

    2024年02月09日
    浏览(39)
  • (响应式PC端媒体查询)电脑屏幕分辨率尺寸大全

    PC端 按屏幕宽度大小排序(主流的用橙色标明) 分辨率   比例 | 设备尺寸 1024*500 (8.9寸) 1024*768 (比例4:3  | 10.4寸、12.1寸、14.1寸、15寸; ) 1280*800(16:10  |15.4寸) 1280*1024(比例:5:4  | 14.1寸、15.0寸) 1280*854(比例:15:10 | 15.2) 1366*768 (比例:16:9 | 不常见) 1440*900 (

    2024年02月11日
    浏览(39)
  • 使用rem + sass + 媒体查询 进行横竖屏适配移动端项目

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 常见的媒体查询,就是1280、1440、1600、1720、1920。规律也很简单,800 + 160*n。最小就是800px(最小的大部分是投影仪使用),不考虑特别设计的话屏幕的话,最大是2560px。下面使用不同分辨率变背景颜色的

    2024年02月10日
    浏览(39)
  • 什么是媒体代发布?媒体代发布注意事项

    传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体代发布是指将新闻稿或其他宣传内容委托给专业的媒体代理机构或公司进行发布和推广的活动。这些机构通常拥有丰富的媒体资源、人脉和经验,能够更好地将信息传递给目标受众,提高曝光度和影响力。 媒体代

    2024年02月13日
    浏览(43)
  • 昇腾实战丨DVPP媒体数据处理图片解码问题案例

    摘要: 本期就分享几个关于DVPP图片解码问题的典型案例,并给出原因分析及解决方法。 本文分享自华为云社区《DVPP媒体数据处理图片解码问题案例》,作者:昇腾CANN 。 DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包