CSS @media rule

ການສະແດງຮູບຮ່າງຫຼືການນໍາໃຊ້

@media ສະຫຼຸບສຳພັນສາຍລະບາຍສຳພັນຂໍ້ວັດຖຸຂອງສານມືສາຍລະບາຍສຳພັນກັບສານມືສາຍລະບາຍ/ອຸປະກອນທີ່ຕ່າງກັນ。

ການຄົ້ນຫາສານມືສາຍລະບາຍສາມາດນຳໃຊ້ເພື່ອກວດສອບຫຼາຍຢ່າງຫຼັງຈາກ:

  • ຄວາມກວ້າງຂອງປ່ອງລະບາຍ
  • ຄວາມກວ້າງຂອງອຸປະກອນ
  • ການກໍານົດ(ວ່າສະໄຫມຈະຢູ່ໃນຮູບແບບສາຍລະບາຍຫຼືສາຍລະບາຍທີ່ຢູ່ຂອງສະໄຫມຫຼືແຜ່ນພິມ)
  • ຄວາມຄືບຄານ

ການນຳໃຊ້ການຄົ້ນຫາສານມືຂໍ້ວັດຖຸແມ່ນເຕັກນິກທີ່ມັກຂາຍຫຼາຍທີ່ຖືກນໍາໃຊ້ເພື່ອຈະຕັດສິນລະບຽບຮູບແບບສຳພັນສຳລັບຄອມພິວເຕີບໄອຕະບັດຂາຍລະບາຍ(Responsive Web Design)。

ທ່ານສາມາດໃຊ້ການຄົ້ນຫາສານມືຂໍ້ວັດຖຸທີ່ຈະມີຮູບແບບພຽງແຕ່ສຳພັນພິມຫຼືຜູ້ອ່ານສາຍລະບາຍດ້ວຍສານມືສາຍລະບາຍ(mediatype: print, screen ຫຼື speech)。

除了媒体类型之外,还有媒体特性。媒体特性通过允许测试用户代理或显示设备的具体特性,为媒体查询提供了更多特定细节。例如,您可以将样式仅应用于大于或小于特定宽度的屏幕。

另请参阅:

CSS 教程:ການຊອກຫາສຽງ CSS

CSS 教程:CSS 媒体查询实例

RWD 教程:除了媒体类型之外,还有媒体特性。媒体特性通过允许测试用户代理或显示设备的具体特性,为媒体查询提供了更多特定细节。例如,您可以将样式仅应用于大于或小于特定宽度的屏幕。

另请参阅:CSS 教程:

CSS 媒体查询实例

RWD 教程:

通过媒体查询实现响应式 Web 设计

JavaScript 参考手册:
  body {
    background-color: lightblue;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

window.matchMedia() 方法

实例

例子 1
  ຖ້າຄວາມວົງມະນຸດຂອງບັນດາບັນນາທິການຫຼືບໍ່ຫຼາຍຫຼືບໍ່ວົງມະນຸດ 600px ຫຼືຫຼາຍຫຼືບໍ່ວົງມະນຸດ 600px, ຈະປ່ຽນສີກາກບໍ່ສາມາດພາຍໃຕ້ <body> ທີ່ສີຫຼາຍ.
}

@media only screen and (max-width: 600px) {

ມີຫຼາຍຄວາມພິມສັດທີ່ພາຍໃຕ້ຫຼັງການຕັ້ງລາຍການ TIY.

CSS 语法

@media not|only mediatype and (mediafeature and|or|not mediafeature) {

CSS-Code;

not, only ແລະ and ຄຳສັບຈະປ້ອງກັນຄວາມໝາຍຂອງການສຳຫຼວດສັດຕະວັດ.

not: not ຄຳສັບຈະປ້ອງກັນຄວາມໝາຍຂອງການສຳຫຼວດສັດຕະວັດ.
only: only ຄຳສັບຈະປ້ອງກັນບັນດາບັນນາທິການເກົ່າທີ່ຈະນໍາໃຊ້ບັນດາບັນນາທິການທີ່ບໍ່ສາມາດສະແດງບັນດາຄວາມພິມສັດທີ່ມີຄວາມພິມສັດ. ມັນບໍ່ມີຜົນຕໍ່ບັນດາບັນນາທິການທີ່ຫຼາຍຫຼືບໍ່ສະແດງ.
and: and ຄຳສັບຢູ່ທີ່ປະສົມຄວາມພິມສັດກັບປະສົມຄວາມພິມສັດຫຼືຄວາມພິມສັດ.

ພວກມັນກໍ່ແມ່ນເລືອກຫຼືບໍ່. ແຕ່ຖ້ານຳໃຊ້ not ຫຼື only ທີ່ຈະຕ້ອງການກຳນົດປະສົມຄວາມພິມສັດ.

ຄວາມຜົນງານ ອະທິບາຍ
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"> <link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css">
.... media type
all print
screen speech

ປະສົມຄວາມພິມສັດ

ຄວາມຜົນງານ ອະທິບາຍ
any-hover

ມີບັນດາການເຂົ້າຫາຄູ່ມືຫຼືບໍ່ທີ່ສາມາດອະນຸຍາດຜູ້ນຳໃຊ້ຫຼື(ສັນຍານປີກພອງ)ຢູ່ເທິງປະກອບຫຼືບໍ່?

在 Media Queries Level 4 中被添加。

any-pointer

ມີບັນດາການເຂົ້າຫາຄູ່ມືຫາຄູ່ມືຫຼືບໍ່? ຖ້າມີແມ່ນການສາມາດກວດຄຳນວນຫຼືບໍ່?

在 Media Queries Level 4 中被添加。

aspect-ratio 视口(viewport)的宽高比。
color

输出设备每个像素的比特值,常见的有 8、16、32 位。

如果设备不支持输出彩色,则该值为 0。

color-gamut

用户代理和输出设备大致程度上支持的色域。

在 Media Queries Level 4 中被添加。

color-index

输出设备的颜色查询表(color lookup table)中的条目数量。

如果设备不使用颜色查询表,则该值为 0。

device-aspect-ratio

输出设备的宽高比。

已在 Media Queries Level 4 中被弃用。

device-height

输出设备渲染表面(如屏幕)的高度。

已在 Media Queries Level 4 中被弃用。

device-width

输出设备渲染表面(如屏幕)的宽度。

已在 Media Queries Level 4 中被弃用。

display-mode

应用程序的显示模式,如 web app 的 manifest 中的 display 成员所指定

在 Web App Manifest spec 被定义。

forced-colors

检测是用户代理否限制调色板。

在 Media Queries Level 5 中被添加。

grid color
color color-gamut
color-index

device-aspect-ratio

在 Media Queries Level 4 中被添加。

device-height

device-width

在 Media Queries Level 5 中被添加。

display-mode

forced-colors

在 Media Queries Level 5 中被添加。

grid height
hover inverted-colors
light-level max-aspect-ratio
max-color max-color-index
max-height max-monochrome
ຈຳນວນສະເພາະພາສາດີນາທິການທີ່ອຸປະກອນສາມາດສະແດງ max-resolution
max-width ຄວາມສະເພາະພາສາດີນາທິການສະເພາະພາສາດີນາທິການ
min-aspect-ratio ຄວາມສະເພາະພາສາດີນາທິການສະເພາະພາສາດີນາທິການ
min-color ຄວາມສະເພາະພາສາດີນາທິການສະເພາະພາສາດີນາທິການ
min-color-index ຈຳນວນສະເພາະພາສາດີນາທິການທີ່ອຸປະກອນສາມາດສະແດງ
min-height ສະເພາະຄວາມສະເພາະພາສາດີນາທິການສະເພາະຄວາມສະເພາະພາສາດີນາທິການ
min-monochrome ຄວາມສະເພາະພາສາດີນາທິການສະເພາະຄວາມສະເພາະພາສາດີນາທິການສະເພາະຄວາມສະເພາະພາສາດີນາທິການ
min-resolution 设备的最低分辨率,使用 dpi 或 dpcm。
min-width 显示区域的最小宽度,例如浏览器窗口。
monochrome

输出设备单色帧缓冲区中每个像素的位深度。

如果设备并非黑白屏幕,则该值为 0。

orientation 视窗(viewport)的旋转方向(横屏还是竖屏模式)。
overflow-block

输出设备如何处理沿块轴溢出视口(viewport)的内容。

在 Media Queries Level 4 中被添加。

overflow-inline

沿内联轴溢出视口(viewport)的内容是否可以滚动?

在 Media Queries Level 4 中被添加。

pointer

主要输入机制是一个指针设备吗?如果是,它的精度如何?

在 Media Queries Level 4 中被添加。

prefers-color-scheme

探测用户倾向于选择亮色还是暗色的配色方案。

在 Media Queries Level 5 中被添加。

prefers-contrast

探测用户是否有向系统要求提高或降低相近颜色之间的对比度。

在 Media Queries Level 5 中被添加。

prefers-reduced-motion

用户是否希望页面上出现更少的动态效果。

在 Media Queries Level 5 中被添加。

prefers-reduced-transparency

用户是否倾向于选择更低的透明度。

在 Media Queries Level 5 中被添加。

resolution 输出设备的分辨率,使用 dpi 或 dpcm。
scan 输出设备的扫描过程(适用于电视等)。
scripting

探测脚本(例如 JavaScript)是否可用。

在 Media Queries Level 5 中被添加。

update

输出设备更新内容的渲染结果的频率。

在 Media Queries Level 4 中被添加。

width 视窗(viewport)的宽度。

更多实例

例子 2

当浏览器的宽度为 600px 或更小时,隐藏元素:

@media screen and (max-width: 600px) {
  div.example {
    display: none;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

例子 3

如果视口的宽度为 800 像素或更宽,请使用媒体查询将背景色设置为淡紫色;如果视口的宽度介于 400 至 799 像素之间,则使用媒体查询将背景色设置为浅绿色。如果视口小于 400 像素,则背景色为浅蓝色:

body {
  background-color: lightblue;
}
@media screen and (min-width: 400px) {
  body {
    background-color: lightgreen;
  }
}
@media screen and (min-width: 800px) {
  body {
    background-color: lavender;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

ຕົວຢ່າງ 4

创建一个响应式导航菜单(在大屏幕上水平显示,在小屏幕上垂直显示):

@media screen and (max-width: 600px) {
  .topnav a {
    float: none;
    width: 100%;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

例子 5

使用媒体查询来创建响应式列布局:

/* 在 992px 或更小的屏幕上,从四列变为两列 */
@media screen and (max-width: 992px) {
  .column {
    width: 50%;
  }
}
/* ຖ້າມີຄວາມກວດສອບຊ້າສິບຫລາຍປະຕູຂຽວ - ຈັດການການປະກອບຂອງບັນຊີບໃຫ້ປະກອບບັນຊີບນອກກັນ */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

ຕົວຢ່າງ 6

ນຳໃຊ້ການສັດ @media ເພື່ອສ້າງບັນຊີບຄວາມສະຫຼຸບ:

ທົດລອງດ້ວຍຕົວເອງ

ຕົວຢ່າງ 7

ການສັດ @media ຍັງສາມາດນຳໃຊ້ເພື່ອປ່ຽນການຈັດການບົດແບບຂອງບັນຊີບອີກຕາມການກວດສອບຕັ້ງໃນຮູບແບບບັນຊີບ. ທ່ານສາມາດຂຽນຄັນນັບ CSS ທີ່ຈະນຳໃຊ້ພຽງແຕ່ຕັ້ງໃນປະກອບຂອງບັນຊີບທີ່ມີລະດັບວົງວຽນຫລາຍກວ່າລະດັບຫລາຍ (ທີ່ມີຮູບແບບ 'ສະໝອງຫລັງ').

ຖ້າການກວດສອບຕັ້ງໃນຮູບແບບສະໝອງຫລັງ - ນຳໃຊ້ສີສີນໍ້າສີຂຽວ:

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

ທົດລອງດ້ວຍຕົວເອງ

ຕົວຢ່າງ 8

ນຳໃຊ້ການສັດ @media ເພື່ອການການສະແດງສັບສຳນັກງານໃນໜ້າຈໍານວນສີຂຽວໃນຂັ້ນຕອນການສະແດງບັນຊີບ, ແລະ ສີຂຽວໃນຂັ້ນຕອນການພິມ:

@media screen {
  body {
    color: green; 
  }
}
@media print {
  body {
    color: black; 
  }
}

ທົດລອງດ້ວຍຕົວເອງ

ຕົວຢ່າງ 9

ລາຍການທີ່ຖືກສັດຈຳນວນ: ນຳໃຊ້ຄວາມແຈກຊະນະທີ່ຖືກຈຳນວນໃຫ້ກັບການສັດຈຳນວນທີ່ມີຢູ່ກ່ອນ (ທີ່ມີປະສິດທິພາບຄືກັບການການສັດ OR):

/* ຖ້າມີຄວາມກວດສອບລະຫວ່າງ 600px ແລະ 900px ຫລື ສູງກວ່າ 1100px - ປ່ຽນແບບ <div> */
@media screen and (max-width: 900px) and (min-width: 600px), (min-width: 1100px) {
  div.example {
    font-size: 50px;
    padding: 50px;
    border: 8px solid black;
    background: yellow;
  }
}

ທົດລອງດ້ວຍຕົວເອງ

ການສະຫຼຸບບັນຊີບ

ຈຳນວນໃນຕາກາດສະແດງການສະຫຼຸບ @media ກັບບັນຊີບໍລິຫານຄັດຄ້ານທໍາອິດທີ່ເປັນສະຖານະສະຫຼຸບ.

Chrome IE / Edge Firefox Safari Opera
21 9 3.5 4.0 9