在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
响应式 Web 设计 - 媒体查询媒体(media)查询在 CSS3 上有介绍:CSS3 @media 查询。 使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。 实例如果浏览器窗口小于 500px, 背景将变为浅蓝色: @media only screen and (max-width: 500px) {
body { background-color: lightblue;}} 尝试一下 » 添加断点在先前的教程中我们使用行和列来制作网页,它是响应式的,但在小屏幕上并不能友好的展示。 媒体查询可以帮我们解决这个问题。我们可以在设计稿的中间添加断点,不同的断点有不同的效果。 桌面设备手机设备使用媒体查询在 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%;}} 其他断点你可以根据自己的需要添加断点。 我们同样可以为平板设备和移动手机设备设置断点。 桌面设备平板设备手机设备在屏幕为 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 列: <div class="row">
<div class="col-3 col-m-3">...</div> <div class="col-6 col-m-9">...</div> <div class="col-3 col-m-12">...</div > </div> 方向:横屏/竖屏结合 CSS 媒体查询,可以创建适应不同设备的方向(横屏 landscape、竖屏 portrait 等)的布局。 语法:orientation:portrait | landscape
实例如果是横屏背景将是浅蓝色: @media only screen and (orientation: landscape) {
body { background-color: lightblue;}} 尝试一下 » |
请发表评论