网页设计daily study 01

响应式布局入门

  • Responsive design,意在实现不同屏幕分辨率的终端上浏览网页的不同展示方式。通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。
  • 核心-> media query 媒体查询 根据最大最小宽度识别设备,采用不同css
  1. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

使用设备的宽度作为视图宽度并禁止初始的缩放。

user-scalable = no 属性能够解决 iPad 切换横屏之后触摸才能回到具体尺寸的问题。

  1. <link media = "(min-width: 500px)" rel="stylesheet" href="css/desktop.css">
  2. <link media = "(max-width: 500px)" rel="stylesheet" href="css/mobile.css">

500px以上则采用desktop.css;500px以下则采用mobile.css。

此处的px为理想宽度,理想宽度=物理宽度与DPR计算结果:viewportsizes.com 可以查各设备的px

  • Media Query

让CSS更精确作用于不同的媒介类型和同一媒介的不同条件。

是在页面的头部<head></head>之间加上下面这句∶

<meta name=“viewport” content=“width=device-width; initial-scale=1.0”>

meta viewport这个属性是在移动设备上设置原始大小显示和是否缩放的声明。

参数设置∶

width – viewport的宽度

height – viewport的高度

initial-scale – 初始的缩放比例

minimum-scale – 允许用户缩放到的最小比例

maximum-scale – 允许用户缩放到的最大比例

user-scalable – 用户是否可以手动缩放

  • 通过checked伪类和label for实现菜单隐藏和显示
  1. Check:

# trigger : not(checked) ~  .toggle-item{

       display: block;

     }

       通过 :checked伪类选择器设置鼠标点击后的状态。

参考:https://juejin.im/entry/574e8d0e2e958a005e038297

  1. Label : for 属性规定 label 与哪个表单元素绑定。

参考:http://www.w3school.com.cn/tags/att_label_for.asp

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!-- 理想宽度=物理宽度与DPR计算结果:viewportsizes.com 可以查各设备的px -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>响应式页面</title>
    <link rel="stylesheet" href="css/common.css">
<!-- media query 媒体查询 根据最大最小宽度识别设备,采用不同css-->
    <link media = "(min-width: 500px)" rel="stylesheet" href="css/desktop.css">
    <link media = "(max-width: 500px)" rel="stylesheet" href="css/mobile.css">
</head>
<body>
    <div id = 'title'>
        <h1>响应式测试</h1>
    </div>
    <div id = 'side-bar'>
        <!-- label for 表示label与该Id对应标签联结 -->
        <label id = 'toggle' for="menu">菜单</label>
        <!-- 使用check选择器的checked伪类和display实现菜单单击时显示隐藏效果 -->
        <input id = 'menu' type="checkbox">
            <div class = "bar">
                <a  href="index1.html">主页</a>
                <a  href="index1.html">刷新</a>
                <a  href="index1.html">主页</a>
            </div>
    </div>
    <h5 id = "a1">Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro eius exercitationem consequatur, distinctio aut est autem vitae iure sed delectus velit. Animi vel quia hic! Iusto sapiente odio inventore doloremque ducimus debitis alias assumenda at perferendis ex iure, nostrum architecto vero quia totam placeat tenetur consequuntur earum. Accusamus, rerum voluptates!</h5>
    <hr>
    <h5 id = "a2">Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro eius exercitationem consequatur, distinctio aut est autem vitae iure sed delectus velit. Animi vel quia hic! Iusto sapiente odio inventore doloremque ducimus debitis alias assumenda at perferendis ex iure, nostrum architecto vero quia totam placeat tenetur consequuntur earum. Accusamus, rerum voluptates!</h5>
    <hr>
    <h5 id = "a3">Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro eius exercitationem consequatur, distinctio aut est autem vitae iure sed delectus velit. Animi vel quia hic! Iusto sapiente odio inventore doloremque ducimus debitis alias assumenda at perferendis ex iure, nostrum architecto vero quia totam placeat tenetur consequuntur earum. Accusamus, rerum voluptates!</h5>
</body>
</html>

效果图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值