响应式布局的学习1.0---@media 查询

本文介绍了响应式网站设计的概念,详细讲解了viewport元标签的作用及设置方法,并通过媒体查询实现不同设备下网页样式的自适应调整。

响应式布局的学习1.0

响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局。

1.viewport
viewport 是用户网页的可视区域。
首先只要你是响应式布局,你就先把这句话加上去。

//width=device-width : 网页宽度等于设备宽度
//initial-scale=1.0 : 初始缩放比例为1.0 。网页初始页面的大小占整个面积的100%
//maximum-scale=1.0 : 最大缩放比例为1.0 ,
//user-scalable : 用户是否可以手动缩放

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

2.媒体查询(移动优先)
媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。

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

//直接在style标签内部

<style>
body{
    //设置背景颜色为紫色
    background-color:#C9F;
    }
    //当设备最大宽度为960px时背景颜色变为白色
    //注意这之间的空格不可少
    //我开始写的时候就遇到我写完了,然后咋回事怎么不变色呀,感觉没错呀....em..然后发现是因为960之前少了一个空格
    @media screen and (max-width: 960px){
        body{
            background-color:#FFF;
        }
    }
    //注意先写大范围后写小范围。----》960写在500前面(大范围会覆盖小范围)
    @media screen and (max-width: 500px){
        body{
            background-color:#000;
        }
    }
</style>
在创建响应式网页布局时,媒体查询是实现根据不同设备屏幕尺寸调整样式的核心技术之一。通过使用 CSS 媒体查询,可以针对不同分辨率的设备定义不同的样式规则,从而确保网页在桌面、平板和移动设备上都能良好显示。 ### 使用媒体查询的基本语法 媒体查询的基本语法如下: ```css @media 媒体类型 and (条件) { /* CSS 样式 */ } ``` 例如,当屏幕宽度小于等于 768px 时应用特定样式: ```css @media screen and (max-width: 768px) { body { font-size: 14px; } } ``` ### 设置视口以支持响应式设计 在 HTML 文档的 `<head>` 部分中添加以下 meta 标签,以确保网页在移动设备上正确缩放: ```html <meta name="viewport" content="width=device-width, initial-scale=1.0"> ``` ### 创建多断点布局 通常建议设置多个断点(breakpoints),以便为不同设备定义合适的布局。常见的断点包括: - **移动设备**:`max-width: 767px` - **平板设备**:`min-width: 768px` 且 `max-width: 1023px` - **桌面设备**:`min-width: 1024px` 示例代码如下: ```css /* 默认样式适用于桌面设备 */ .container { width: 100%; padding: 20px; } /* 平板设备样式 */ @media screen and (min-width: 768px) and (max-width: 1023px) { .container { padding: 15px; } } /* 移动设备样式 */ @media screen and (max-width: 767px) { .container { padding: 10px; } } ``` ### 弹性网格布局与媒体查询结合使用 除了媒体查询之外,还可以结合使用弹性盒子(Flexbox)或 CSS Grid 来构建更灵活的响应式布局结构。例如,使用 Flexbox 实现一个简单的响应式导航栏: ```css .navbar { display: flex; justify-content: space-between; flex-wrap: wrap; } .nav-item { flex: 1 1 100%; } @media screen and (min-width: 768px) { .nav-item { flex: 1 1 auto; } } ``` ### 移动优先原则 推荐采用“移动优先”策略,即先为小屏幕设备编写样式,再通过媒体查询逐步增强大屏幕设备的样式。这种方式有助于提高页面加载性能,并符合现代响应式设计的最佳实践。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值