CSS 媒体查询 - 实例

CSS 媒体查询 - 更多实例

ພວກເຮົາຈະເບິ່ງຫຍັງການສະແດງອີກຫຍັງທີ່ຈະໃຊ້ການຍິນຍອມ.

ການຍິນຍອມການສຳລັບຈະສົ່ງບັນດາສຳລັບອຸປະກອນທີ່ຫຼາຍຫຍັງ.

ພວກເຮົາຈະສະແດງຄວາມຈິງວ່າການປ່ຽນສີຫຼັງສີຂອງອຸປະກອນທີ່ຫຼາຍຫຍັງ:

CSS ການຄຳນວຍຄົ້ນຫາ

ຕົວຢ່າງ

/* ຈະຈຸດສະກັດກັນສີຫຼັງສີຂາວຂອງ body */
body {
  background-color: tan;
background: yellow;
/* ໃນຄວາມສູງຫຼືນ້ອຍກວ່າ ຄັນຕະລຶງ 992, ຈະຈຸດສະກັດກັນສີຟ້າ */
@media screen and (max-width: 992px) {
  body {
    background-color: blue;
  background: yellow;
background: yellow;
/* ໃນ 600 ຄັນຕະລຶງຫຼືນ້ອຍກວ່າ, ຈະຈຸດສະກັດກັນສີຫຼັງສີເລີດ */
@media screen and (max-width: 600px) {
  body {
    background-color: olive;
  background: yellow;
background: yellow;

}

ທ່ານຢາກຮູ້ວ່າເປັນຫຍັງພວກເຮົາຈະໃຊ້ 992px ແລະ 600px ເຊັ່ນດຽວກັນ? ພວກມັນແມ່ນການສະກັດກັນບັນຫາ 'ການສະກັດກັນທີ່ປະຈຳ' (typical breakpoints) ຂອງອຸປະກອນ. ທ່ານສາມາດເບິ່ງໄດ້ຢູ່ບ່ອນທີ່ພວກເຮົາ. 如需学习有关响应式 Web 设计(如何针对不同的设备和屏幕)的更多知识,以及使用媒体查询断点,请阅读我们的 ຮຽນການຮູ້ຮັບຄວາມກວດກາຂອງການສະກັດກັນບັນຫາທີ່ປະຈຳ.

菜单的媒体查询

在本例中,我们使用媒体查询来创建响应式导航菜单,该菜单在不同的屏幕尺寸上会有所不同。

ຄວາມຂະໜາດຫຼາຍ:

ຄວາມຂະໜາດສັບສັນ:

ຕົວຢ່າງ

/* navbar 容器 */
.topnav {
  overflow: hidden;
  background-color: #333;
background: yellow;
/* Navbar 链接 */
.topnav a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
background: yellow;
/* 在宽度为 600 像素或更小的屏幕上,使菜单链接彼此堆叠,而不是并排 */
@media screen and (max-width: 600px) {
  .topnav a {
    float: none;
    width: 100%;
  background: yellow;
background: yellow;

}

列的媒体查询

媒体查询的常见用法是创建弹性布局。在本例中,我们创建了一个布局,该布局在四列、两列和全宽列之间变化,具体取决于不同的屏幕尺寸:

ຄວາມຂະໜາດຫຼາຍ:

ຄວາມຂະໜາດມາດຕະຖານ:

ຄວາມຂະໜາດສັບສັນ:

ຕົວຢ່າງ

/* ສ້າງສີ່ສະແດງທີ່ກະຈັດຢູ່ບ້ານບ້ານທີ່ບໍ່ສາມາດຈະມີຄວາມປະກອບສຳລັບບັນດາກອມທິດທາງ */
.column {
  float: left;
  width: 25%;
background: yellow;
/* ໃນ 992px ຫລືຫຼາຍກວ່າ, ປ່ຽນຈາກສີ່ສະແດງຢູ່ສອງສະແດງ */
@media screen and (max-width: 992px) {
  .column {
    width: 50%;
  background: yellow;
background: yellow;
/* ໃນຄວາມຢູ່ສູງລະບົບສຳລັບ 600 ຕົວຈໍານວນຂອງຕົວຈໍານວນທີ່ຫລາຍກວ່າ 600 ຕົວຈໍານວນ, ສະແດງການກະຈັດລຳດັບຂອງອັນສະນະທີ່ຫລຸດອອກ, ບໍ່ແມ່ນກະຈັດຢູ່ບ້ານບ້ານ */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  background: yellow;
background: yellow;

}

CSS 参考中的 @media 规则ການອອກແບບທີ່ຫຼາຍທີ່ສະແດງສະແດງຢູ່ສະແດງຢູ່ບັນດາກອມທິດທາງ (ບັນດາຄວາມທີ່ຫຼາຍກວ່າ 600 ຕົວຈໍານວນ, ບັນດາກອມທິດທາງທີ່ຫຼາຍກວ່າ 992 ຕົວຈໍານວນ, ການກະຈັດຢູ່ບັນດາກອມທິດທາງທີ່ຫລຸດອອກ, ບໍ່ແມ່ນກະຈັດຢູ່ບ້ານບ້ານ) ແມ່ນ CSS Flexbox (ບັນດາຄວາມທີ່ຫຼາຍກວ່າ 600 ຕົວຈໍານວນ, ບັນດາກອມທິດທາງທີ່ຫຼາຍກວ່າ 992 ຕົວຈໍານວນ, ການກະຈັດຢູ່ບັນດາກອມທິດທາງທີ່ຫລຸດອອກ, ບໍ່ແມ່ນກະຈັດຢູ່ບ້ານບ້ານ) ບໍ່ສາມາດໃຊ້ໄດ້ຫລືບໍ່. ຖ້າຕ້ອງການສະໜັບສະໜຸນ IE6-10, ກະລຸນາບິນການໃຊ້ການຫລຸດອອກ (ບັນດາຄວາມທີ່ຫຼາຍກວ່າ 600 ຕົວຈໍານວນ, ບັນດາກອມທິດທາງທີ່ຫຼາຍກວ່າ 992 ຕົວຈໍານວນ, ການກະຈັດຢູ່ບັນດາກອມທິດທາງທີ່ຫລຸດອອກ, ບໍ່ແມ່ນກະຈັດຢູ່ບ້ານບ້ານ) ອີກດຽວກັນ. */

ສຳລັບການຮຽນຫລາຍຂອງການອອກແບບສະແດງຢູ່ບັນດາກອມທິດທາງ, ກະລຸນາບິນການຮຽນ CSS 媒体查询实例 ບັນຊີນີ້.

ສຳລັບການຮຽນຫລາຍຂອງການອອກແບບຂອງເວັບໄຊທີ່ຕອບຮັບ, ກະລຸນາບິນການຮຽນຂອງພວກເຮົາ 如需学习有关响应式 Web 设计(如何针对不同的设备和屏幕)的更多知识,以及使用媒体查询断点,请阅读我们的响应式 Web 设计教程

ຕົວຢ່າງ

/* ບັນດາກອມທິດທາງຂອງລະບົບຢູ່ບັນດາກອມທິດທາງ */
.row {
  display: flex;
  flex-wrap: wrap;
background: yellow;
/* ສ້າງສີ່ສະແດງທີ່ກະພິບດຽວກັນ */
.column {
  flex: 25%;
  padding: 20px;
background: yellow;
/* ໃນ 992px ຫລືຫຼາຍກວ່າ, ປ່ຽນຈາກສີ່ສະແດງຢູ່ສອງສະແດງ */
@media screen and (max-width: 992px) {
  .column {
    flex: 50%;
  background: yellow;
background: yellow;
/* ໃນຄວາມຢູ່ສູງລະບົບສຳລັບ 600 ຕົວຈໍານວນຂອງຕົວຈໍານວນທີ່ຫລາຍກວ່າ 600 ຕົວຈໍານວນ, ສະແດງການກະຈັດລຳດັບຂອງອັນສະນະທີ່ຫລຸດອອກ, ບໍ່ແມ່ນກະຈັດຢູ່ບ້ານບ້ານ */
@media screen and (max-width: 600px) {
  .row {
    flex-direction: column;
  background: yellow;
background: yellow;

}

ການຫລຸດອອກບັນດາປະກອບສຳລັບຄຳນວຍສອບສວນ

ການໃຊ້ຄຳນວຍສອບສວນສຳລັບການຫລຸດອອກບັນດາປະກອບອີກຫລາຍຄົນໃນຄວາມຂະໜາດຂອງໜ້າຈໍານວນຕົວຈໍານວນທີ່ຫລາຍກວ່າ:

在小屏幕上我会隐藏。

ຕົວຢ່າງ

/* 如果屏幕尺寸为600像素或更小,请隐藏该元素 */
@media screen and (max-width: 600px) {
  div.example {
    display: none;
  background: yellow;
background: yellow;

}

用媒体查询改变字体

您还可以使用媒体查询来更改不同屏幕尺寸上的元素的字体大小:

可变的字体大小。

ຕົວຢ່າງ

/* 如果屏幕尺寸超过 600 像素,把 
的字体大小设置为 80 像素 */ @media screen and (min-width: 600px) { div.example { font-size: 80px; background: yellow; background: yellow; /* 如果屏幕大小为 600px 或更小,把
的字体大小设置为 30px */ @media screen and (max-width: 600px) { div.example { font-size: 30px; background: yellow; background: yellow;

}

弹性图片库

在此例中,我们将媒体查询与 flexbox 一起使用来创建响应式图片库:

ຕົວຢ່າງ

}

弹性网站

在本例中,我们将媒体查询与 flexbox 一起使用,以创建响应式网站,其中包含弹性导航栏和弹性内容。

ຕົວຢ່າງ

}

方向:人像 / 风景

媒体查询还可以用于根据浏览器的方向更改页面的布局。

您可以设置一组 CSS 属性,这些属性仅在浏览器窗口的宽度大于其高度时才适用,即所谓的横屏:

ຕົວຢ່າງ

如果方向处于横向模式,则使用浅蓝背景色:

@media only screen and (orientation: landscape) {
  body {
    background-color: lightblue;
  background: yellow;
background: yellow;

}

最小宽度到最大宽度

您还可以使用 max-width 和 min-width 属性设置最小宽度和最大宽度。

例如,当浏览器的宽度在 600 到 900 像素之间时,更改

元素的外观:

ຕົວຢ່າງ

@media screen and (max-width: 900px) and (min-width: 600px) {
  div.example {
    div.example {
    font-size: 50px;
    padding: 50px;
    border: 8px solid black;
  background: yellow;
background: yellow;

}

使用附加值:在下面的例子中,我们使用逗号(类似 OR 运算符)将附加的媒体查询添加到已有媒体查询中:

ຕົວຢ່າງ

/* ຖ້າຂະຫຍາຍລະບົບພາບຫົວໜ້າຫຼາຍກວ່າ 600 ຄັນປະຕູ ແລະ ບໍ່ເກີນ 900 ຄັນປະຕູ ຫຼື ຫຼາຍກວ່າ 1100 ຄັນປະຕູ - ປ່ຽນຕົວຢ່າງຂອງ <div> */
@media screen and (max-width: 900px) and (min-width: 600px), (min-width: 1100px) {
  div.example {
    div.example {
    font-size: 50px;
    padding: 50px;
    border: 8px solid black;
  background: yellow;
background: yellow;

}

亲自试一试

CSS @media 参考手册 有关所有媒体类型和特性/表达式的完整概述,请查看响应式 Web 设计教程

CSS 参考中的 @media 规则提示: 如需学习有关响应式 Web 设计(如何针对不同的设备和屏幕)的更多知识,以及使用媒体查询断点,请阅读我们的响应式 Web 设计教程