php样式中的媒体查询,响应式 Web 设计 – 媒体查询 | 菜鸟教程

本文讲解了CSS3中的@media查询在实现响应式设计中的应用,如何根据不同设备添加断点调整样式,以及移动端优先设计策略。通过实例演示了如何为桌面、平板和手机设备设置不同的列宽,以及如何利用媒体查询控制横竖屏布局。
摘要由CSDN通过智能技术生成

响应式 Web 设计 - 媒体查询

媒体(media)查询在 CSS3 上有介绍:CSS3 @media 查询。

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

实例

如果浏览器窗口小于 500px, 背景将变为浅蓝色:

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

body{

background-color:lightblue;

}

}

尝试一下 »

添加断点

在先前的教程中我们使用行和列来制作网页,它是响应式的,但在小屏幕上并不能友好的展示。

媒体查询可以帮我们解决这个问题。我们可以在设计稿的中间添加断点,不同的断点有不同的效果。

桌面设备

7d5ab099c3a400181c45938ef3d2ca91.png

手机设备

52abcddf876a58ff971477590f8511f6.png

使用媒体查询在 768px 添加断点:

实例

当屏幕 (浏览器窗口) 小于 768px, 每一列的宽度是 100%:

/* For desktop: */

.col-1{width:8.33%;}

.col-2{width:16.66%;}

.col-3{width:25%;}

.col-4{width:33.33%;}

.col-5{width:41.66%;}

.col-6{width:50%;}

.col-7{width:58.33%;}

.col-8{width:66.66%;}

.col-9{width:75%;}

.col-10{width:83.33%;}

.col-11{width:91.66%;}

.col-12{width:100%;}

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

/* For mobile phones: */

[class*="col-"] {

width:100%;

}

}

尝试一下 »

为移动端优先设计

移动端优先意味着在设计桌面和其他设备时优先考虑移动端的设计。

这就意味着我们必须对 CSS 做一些改变。

我们在屏幕小于 768px 进行样式修改,同样在屏幕宽度大于 768px 时也需要修改样式。以下是移动端优先实例:

/* 为移动端设计: */

[class*="col-"]{

width:100%;

}

@media only screen and (min-width:

768px){

/* For desktop: */

.col-1 {width:8.33%;}

.col-2{width:16.66%;}

.col-3{width:25%;}

.col-4{width:33.33%;}

.col-5{width:41.66%;}

.col-6{width:50%;}

.col-7{width:58.33%;}

.col-8{width:66.66%;}

.col-9{width:75%;}

.col-10{width:83.33%;}

.col-11{width:91.66%;}

.col-12{width:100%;}

}

其他断点

你可以根据自己的需要添加断点。

我们同样可以为平板设备和移动手机设备设置断点。

桌面设备

7d5ab099c3a400181c45938ef3d2ca91.png

平板设备

2d1f5cbb77a7c41c15d486824770a070.png

手机设备

52abcddf876a58ff971477590f8511f6.png

在屏幕为 600px 时添加媒体查询,并设置新的样式(屏幕大于600px但小于768px):

实例

注意两组类样式是相同的,但名称不同 (col- 和 col-m-):

/* For mobile phones: */

[class*="col-"]{

width:100%;

}

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

/* For tablets: */

.col-m-1 {width:8.33%;}

.col-m-2{width:16.66%;}

.col-m-3{width:25%;}

.col-m-4{width:33.33%;}

.col-m-5{width:41.66%;}

.col-m-6{width:50%;}

.col-m-7{width:58.33%;}

.col-m-8{width:66.66%;}

.col-m-9{width:75%;}

.col-m-10{width:83.33%;}

.col-m-11{width:91.66%;}

.col-m-12{width:100%;}

}

@media only screen and (min-width:

768px){

/* For desktop: */

.col-1 {width:8.33%;}

.col-2{width:16.66%;}

.col-3{width:25%;}

.col-4{width:33.33%;}

.col-5{width:41.66%;}

.col-6{width:50%;}

.col-7{width:58.33%;}

.col-8{width:66.66%;}

.col-9{width:75%;}

.col-10{width:83.33%;}

.col-11{width:91.66%;}

.col-12{width:100%;}

}

尝试一下 »

以上代码看起来很多余,但是他可以根据屏幕大小自动设置不同的样式,所以还是非常必要的。

HTML 实例

针对桌面设备:

第一和第三部分跨越 3 列。中间部分跨域 6 列。

针对平板设备:

第一跨域 3列,第二部分跨越 9 列,第三部分跨域 12 列:

...

class="col-6 col-m-9">...

class="col-3 col-m-12">...

方向:横屏/竖屏

结合CSS媒体查询,可以创建适应不同设备的方向(横屏landscape、竖屏portrait等)的布局。

语法:

orientation:portrait | landscape

portrait:指定输出设备中的页面可见区域高度大于或等于宽度

landscape:

除portrait值情况外,都是landscape

实例

如果是横屏背景将是浅蓝色:

@media only screen and (orientation:

landscape){

body{

background-color:lightblue;

}

}

尝试一下 »

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值