计算机网络/计算机科学与应用/系统/运维/开发

Bootstrap4 响应式网页设计的基本概念

Bootstrap 响应式网页设计


响应式网页设计的步骤:

1.设置<meta>标签

2.使用媒体查询设置样式

3.字体设置

4.第三方框架


一、视口

        视口Viewport:

        移动端中存在的三种视口:布局视口、视觉视口、理想视口

        设置布局视口宽度与理想视口宽度保持一致


        <meta name="viewport" content="width=device-width">

        表示:

        视口宽度为屏幕宽度,缩放比例为1:1,初始视觉视口就是理想视口

        <meta>标签的主要作用是使布局视口宽度与理想视口宽度一致

        也就是设备屏幕有多宽,布局视口就有多宽


        <meta>标签常用的属性:

                width 用于设置布局视口的宽度,可指定固定值, 如600px 也可指定特殊值 如 device-width 设备的宽度

                height 视口高度 可以设置为数值或 device-height

                initial-scale 设置页面初始缩放比例,即页面第一次加载时的缩放比例

                minimum-scale 设置允许用户缩放页面的最小比例

                maximum-scale 设置允许用户缩放页面的最大比例

                user-scalable 设置用户是否可以手动缩放 yes/no


二、媒体查询

                媒体查询:

                设置方式3部分:媒体类型/判断条件/媒体属性

                media 媒体类型 判断条件 (媒体属性) {css样式}


                实例:

                屏幕宽度在768px及以上,使用<CSS样式1>,屏幕宽度在480px及以上,使用<CSS样式2>

                media screen and (min-width: 768 px) {CSS样式1}

                media screen and (min-width: 480 px) {CSS样式2}


                媒体查询的使用方法:

                1、加入

                <meta name="viewport" content="width=device-width",initial-scale=1,

                 maxinum-scale=1.0, user-scalable="no">

 

                2、使用方式

                样式表中使用:


                /*当设备屏幕宽度为420~600px时,显示背景图片1.jpg*/

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

                     header{ background-image: url(./1.jpg);}

                }


                如果在link标签中使用:

                /*当设备屏幕宽度小于或等于420px时,加载Demo.css外部样式表*/

                <link rel="stylesheet" type="textcss"

                media="screen and (max-device-width: 420px)" href="Demo.css">


                    媒体类型:

                        常用类型all 和 screen  print

                        媒体类型说明:

                        all 所有设备

                        braille 盲文

                        handheld 手持设备

                        print 文档打印或打印预览模式

                        screen 彩色屏幕


                    判断条件:

                    媒体查询语句中加入and not only 进行条件判断

                    1、and

                        满足单一条件:

                        /* 当设备屏幕宽度小于或等于420px时,显示div背景颜色为蓝色 */

                        

@media screen and (max-width:420px) {
  div{ backgroud-color:blue; }
}


                        同时满足两个条件:

                        /* 当设备满足在400px - 600px 之间时*/

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

                                div{ background-color:red; }

                        }

                        两个中满足其中1个即可,使用逗号分隔,或运算

                        /* 当设备屏幕宽度小于或等于420px或在打印模式下且纸张宽度最小为10英寸时,显示div背景颜色为黄色 */

                        @media screen and (min-width:700px), print and (min-width:10in) {

                            div{ 

                                background-color:yellow;

                            }

                        }


                 2、not

                       对媒体查询取反

                       not 不能再单个条件前使用

                       not 应位于媒体查询语句的开头

                       not 关键字用于对整个媒体查询语句进行取反,并非仅对某一个媒体属性取反


                        /* 单色屏幕设备不会应用相关CSS样式,除单色屏幕设备外的所有设备会应用相关CSS样式 */

                        @media not screen and (monochrome) {

                            div {  background-color: pink;  }

                        }


                  3、only

                        兼容低版本的浏览器而设置

                        必须位于媒体查询开头


                        /* 早期浏览器隐藏媒体查询语句 */

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

                             div {  background-color: green; }

                        }


                            媒体属性

                        常见媒体属性:

                                max-height

                                max-width

                                color

                                device-height

                                device-width

                                height

                                monochrome

                                resolution / yes 分辨率

                                scan/ no 媒体类型扫描方式

                                width   / yes 渲染页面宽度

                                orientation  / no  横屏或竖屏


                        基础实例:响应式图片背景

1.  <!DOCTYPE html>
2.  <html>
3.  <head>
4.  <meta charset="utf-8">
5.  <meta name="viewport" content="width=device-width" ,initial-scale=1, maxinum-scale=1.0, user-scalable="no">
6.  <title>响应式图片</title>
7.  </head>
8.  <style>
9.  *{
/* 重置样式 */
10.     margin: 0;
11.     padding: 0;
12.     border: 0;
 }
body,html {
/* 设置body、html占满全屏 */
14.     height: 100%;
15.     width: 100%;
16.     box-sizing: border-box;
}
    #box {
/* 设置父容器宽度100% */
18.     width: 100%;
19.     height: 100%;
}
20. img {
/* 图片默认占据屏幕的1/3 */
21.     width: 33%;
22.     float: left;
}
23. @media screen and (max-width : 500px) {
/* 图片与屏幕等宽 */
img {width: 100%;}
25. }
26. </style>
27. <body>
28. <div id="box">
 <img src="./img/1.jpg" alt="">
 <img src="./img/2.jpg" alt="">
 <img src="./img/3.jpg" alt="">
32. </div>
33. </body>
34. </html>



天天晨练不仅为了健身,也为了体现生命的倔强

评论

^