百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

HTML/CSS 备忘录 - 15. CSS 媒体查询与其他

myzbx 2024-12-27 15:27 37 浏览

一、媒体查询

多媒体查询由多种媒体组成,可以包含一个或多个表达式,表达式根据条件是否成立返回 true 或 false。

@media not|only mediatype and (expressions) {
    CSS 代码...;
}

也可以在不同的媒体上使用不同的样式文件:

<link rel="stylesheet" 
  media="mediatype and|not|only (expressions)" 
  href="print.css" />

媒体类型:

  • all:检测所有设备。
  • screen:检测电子屏幕,包括:电脑屏幕、平板屏幕、手机屏幕等。
  • print:检测打印机。

媒体特征:

  • width:检测视口宽度。
  • max-width:检测视口最大宽度。
  • min-width:检测视口最小宽度。
  • height:检测视口高度。
  • max-height:检测视口最大高度。
  • min-height:检测视口最小高度。
  • device-width:检测设备屏幕的宽度。
  • max-device-width:检测设备屏幕的最大宽度。
  • min-device-width:检测设备屏幕的最小宽度。
  • orientation:检测视口的旋转方向 (是否横屏),portrait(竖屏)landscape(横屏)

运算符符:

  • and:并且。
  • , 或 or:或者。
  • not:用于否定媒体查询。如果出现在以逗号分隔的查询列表中,它将仅否定应用了该查询的特定查询。如果使用 not 运算符,则还必须指定媒体类型。
  • only:仅在整个查询匹配时才应用样式。这对于防止较老的浏览器应用所选样式很有用。当不使用 only 时,较老的浏览器会将 screen and (max-width: 500px) 简单地解释为 screen,忽略查询的其余部分,并将其样式应用于所有屏幕。如果使用 only 运算符,则还必须指定媒体类型。

媒体查询示例

/* 屏幕可视窗口小于 480px 的设备上应用样式 */
@media screen and (max-width: 480px) {
  /* CSS-Code */
}

/* 屏幕可视窗口小于 1200px 且 大于768px 时应用样式 */
@media screen and (min-width:768px) and (max-width:1200px) {
  /* CSS-Code */
}

二、BFC

块格式化上下文(Block Formatting Context,BFC)是 Web 页面的可视 CSS 渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。

BFC 可以理解为元素的一些特殊特性,在默认的情况下处于关闭状态;当元素满足了某些条件后将会开启。

开启了 BFC 能解决什么问题:

  • 元素开启 BFC 后,其子元素不会再产生 margin 塌陷问题。
  • 元素开启 BFC 后,自己不会被其他浮动元素所覆盖。
  • 元素开启 BFC 后,就算其子元素浮动,元素自身高度也不会塌陷。

如何开启 BFC:

  • 根元素。
  • 浮动元素。
  • 绝对定位、固定定位的元素。
  • 行内块元素。
  • 表格单元格:table、thead、tbody、tfoot、th、td、tr、caption。
  • overflow 的值不为 visible 的块元素。
  • 伸缩项目。
  • 多列容器。
  • column-span 为 all 的元素(即使该元素没有包裹在多列容器中)。
  • display 为 flow-root 的元素。

三、默认样式

很多元素都有默认样式,而且这些默认样式,在不同的浏览器 上呈现出来的效果也不一样,所以我们需要重置这些默认样式。

重置默认样式的方案有很多,我们也可以自己构建一套自己的默认样式,但更简单的是使用现有的一些成熟方案,例如 Normalize.css 就是一款重置默认样式的方案,它在清除默认样式的基础上,保留了一些有价值的默认样式。

官网:https://necolas.github.io/normalize.css/

相关推荐

如何设计一个优秀的电子商务产品详情页

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品电子商务网站的产品详情页面无疑是设计师和开发人员关注的最重要的网页之一。产品详情页面是客户作出“加入购物车”决定的页面...

怎么在JS中使用Ajax进行异步请求?

大家好,今天我来分享一项JavaScript的实战技巧,即如何在JS中使用Ajax进行异步请求,让你的网页速度瞬间提升。Ajax是一种在不刷新整个网页的情况下与服务器进行数据交互的技术,可以实现异步加...

中小企业如何组建,管理团队_中小企业应当如何开展组织结构设计变革

前言写了太多关于产品的东西觉得应该换换口味.从码农到架构师,从前端到平面再到UI、UE,最后走向了产品这条不归路,其实以前一直再给你们讲.产品经理跟项目经理区别没有特别大,两个岗位之间有很...

前端监控 SDK 开发分享_前端监控系统 开源

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的...

Ajax 会被 fetch 取代吗?Axios 怎么办?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是ajax、fetch...

前端面试题《AJAX》_前端面试ajax考点汇总

1.什么是ajax?ajax作用是什么?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实...

Ajax 详细介绍_ajax

1、ajax是什么?asynchronousjavascriptandxml:异步的javascript和xml。ajax是用来改善用户体验的一种技术,其本质是利用浏览器内置的一个特殊的...

6款可替代dreamweaver的工具_替代powerdesigner的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

福斯《死侍》发布新剧照 &quot;小贱贱&quot;韦德被改造前造型曝光

时光网讯福斯出品的科幻片《死侍》今天发布新剧照,其中一张是较为罕见的死侍在被改造之前的剧照,其余两张剧照都是死侍在执行任务中的状态。据外媒推测,片方此时发布剧照,预计是为了给不久之后影片发布首款正式预...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象...

不用海淘,真黑五来到你身边:亚马逊15件热卖爆款推荐!

Fujifilm富士instaxMini8小黄人拍立得相机(黄色/蓝色)扫二维码进入购物页面黑五是入手一个轻巧可爱的拍立得相机的好时机,此款是mini8的小黄人特别版,除了颜色涂装成小黄人...

2025 年 Python 爬虫四大前沿技术:从异步到 AI

作为互联网大厂的后端Python爬虫开发,你是否也曾遇到过这些痛点:面对海量目标URL,单线程爬虫爬取一周还没完成任务;动态渲染的SPA页面,requests库返回的全是空白代码;好不容易...

最贱超级英雄《死侍》来了!_死侍超燃

死侍Deadpool(2016)导演:蒂姆·米勒编剧:略特·里斯/保罗·沃尼克主演:瑞恩·雷诺兹/莫蕾娜·巴卡林/吉娜·卡拉诺/艾德·斯克林/T·J·米勒类型:动作/...

停止javascript的ajax请求,取消axios请求,取消reactfetch请求

一、Ajax原生里可以通过XMLHttpRequest对象上的abort方法来中断ajax。注意abort方法不能阻止向服务器发送请求,只能停止当前ajax请求。停止javascript的ajax请求...