响应式布局Demo

顾名思义,响应式布局就是为适应不同终端而形成的一种技术。我总结了一个简单的例子帮助大家了解和学习响应式布局。

实现响应式布局的几种方式:媒体查询、JS、流体布局、弹性布局…

常用的meta标签

<meta content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"name="viewport" />

:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;

<meta content="yes" name="apple-mobile-web-app-capable" />

:iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;

 <meta content="black" name="apple-mobile-web-app-status-bar-style" />

:iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;

<meta content="telephone=no" name="format-detection" />

:让用户不允许对屏幕进行拉伸。

使用媒体查询的三种方式

1、直接在CSS中使用

@media 类型(常选all/screen) and(条件1) and(条件2){CSS选择器{CSS属性:属性值;}    } 

2、使用link链接CSS,media属性可以设置媒体查询方式 (常用)

 eg. <link rel="stylesheet" type="text/css" href="css/02-响应式布局.css" media="all and (max-width:800px)"/>

3、使用Import导入,直接在url( )后面空格,间接媒体查询方式

 eg. @import url("css/XXX.css") all and (max-width:800px); 条件符合后在链接CSS文件

响应式Demo — HTML部分

首先,新建一个HTML 文件,命名Demo.html. 接着,新建一个CSS文件,文件名与HTML文件相同,Demo.css在HTML文件,head标签中引入viewport视口功能,如下:
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />这是移动开发过程中必要语句
接着,将HTML文件与CSS文件关联 :<link rel="stylesheet" type="text/css" href="css/Demo.css"/>

在HTML文件,body标签中写入结构语句:

<body>        <header id="header"><ul><li>header1</li><li>header2</li><li>header3</li><li>header4</li><li>header5</li></ul><div>icon    </div></header><section id="main"><div class="left">left</div><div class="center">center</div><div class="right">right</div></section><footer id="foot">footer</footer></body>

响应式Demo — css部分

PC端效果如下所示,显示header1-5导航栏,隐藏右上角小div:
在这里插入图片描述
我们要在CSS文件中写入PC端的CSS样式,在PC端的基础上进行pad、手机端的更改,代码如下:

*{           /*    使用通用选择器进行整体共有样式设置 */          margin: 0px;                         padding: 0px;font-size: 48px;text-align: center;box-sizing: border-box;
}
#header,
#main,        /*给头部/主体/底部同时设置宽/高/背景色, 水平垂直居中 */  
#foot{height: 100px; width: 1200px;background-color: pink;line-height: 100px;margin: 0 auto;min-width: 300px;
}
#header ul{width: 80%;           
}
#header ul li{float: left;width: 20%;list-style: none;font-size: 20px;
}
#header div{  /* li 全部浮动,父盒子ul塌陷,相当于不存在了,div才能浮动到ul右侧*/display: none;              width: 50px;height: 50px;background-color: yellow;float: right;line-height: 50px;font-size: 20px;margin-top: 25px;margin-right: 25px;
}
#main{height: 520px;      /* 给主体设置高度/文字垂直居中/上下边框*/line-height: 520px;border-bottom: 10px solid white;border-top: 10px solid white;}
/* 将主体分成三部分,左:中:右=1:2:1 分别设置不同背景色 浮动*/
#main .left{       width: 25%;height: 500px;background-color: greenyellow;float: left;
}
#main .center{width: 50%;height: 500px;background-color: orange;border-right: 10px solid white;border-left: 10px solid white;float: left;
}
#main .right{width: 25%;height: 500px;background-color: paleturquoise;float: left;
}

接下来,我们进行响应式的设置,在CSS中引入媒体查询。

Pad端(假设屏幕最大宽度900px)效果如下所示,主体右端隐藏,其它部分正常显示。

在这里插入图片描述
CSS样式如下:

@media  screen and (max-width: 1200px) {     /* PC端头部/主体/底部宽度100%显示*/#header,#main,#foot{width: 100%;}
}/*pad端主体只显示左:中近似=1:2,center左边有border部分,右border隐藏*/
@media  screen and (max-width:900px ) {    #main .right{display: none;}#main .left{width: 35%;}#main .center{width: 65%;border-right: hidden;}
}

手机端(假设最大宽度550px)效果如下所示,header1-5导航栏隐藏,右侧小div显示,主体部分的左中右改为上中下显示。
在这里插入图片描述
CSS代码如下:

/*手机端整体高度增大,主体左中右浮动取消, 宽度都为100%*/
@media  screen and (max-width: 550px) {  #main{height: 920px;}#main .left{float: none;width: 100%;height: 250px;line-height: 250px;}/* center左右border改为上下border,为了不挤压内容(IE盒子),主体总宽度加20px*/#main .center{   float: none;width: 100%;height: 400px;line-height: 400px;border-left: hidden;border-bottom: 10px solid white;border-top: 10px solid white;}#main .right{          /*主体右端重新显示*/display: block;float: none;width: 100%;height: 250px;line-height: 250px;}        
}#header ul{       /*头部导航栏ul隐藏,右上角小div由隐藏改为显示  */display: none; }#header div{display: block;}

看到这里,响应式已经介绍完了,点赞关注哟!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

整数线性规划实现(lingo,python分枝界定法)

本文章为上篇建模学习打卡第二天的续 文章目录 一、本次问题 二、本题理解 三、问题求解 1.lingo实现 &#xff08;1&#xff09;先抛除整数约束条件对问题求解 &#xff08;2&#xff09;加入整数约束条件求解 2.python实现求解 &#xff08;1&#xff09;先抛除整数约…

Atmel跑Linux的arm芯片,Linux已被移植到Atmel的ATmega微控制器

Ubuntu Linux发行版已经被移植到最便宜、最便携的平台中&#xff1a;一个Atmel的ATmega微控制器。拥有一个20MHz的8位AVR处理器&#xff0c;128KB的闪存和整块16KB的SRAM&#xff0c;ATmega1284P并不是建立微型计算机最合乎逻辑的选择。它是在Arduino原型平台中找到的同样基础的…

Android Studio 详细安装教程

在我们的日常 Android 开发中&#xff0c;一个好的开发工具是必不可少的------Android Studio&#xff0c;是一个最重要的开发工具。 下面我将详细介绍Android Studio的下载安装。 一、安装环境及下载资源 1.1 安装环境 电脑系统 : Windows 10 JDK 版本 : 1.8 Android Stud…

零基础爬虫requests初阶教程,手把手教你爬数据

目录 一、环境与工具 二、学爬虫必备知识 三、简单体验 requests 四、get 请求 3.1 基础讲解一 3.3 基础讲解二 3.2 基础讲解三 3.4 获取cookie 3.5 获取请求头 3.6 添加请求头 3.5 知乎爬取反扒技术 3.6 抓取二进制数据 3.7 美女私房照爬取&#xff08; 准备发车…

vsftpd的主配置文件是什么linux,vsftpd.conf配置文件详解

vsftpd.conf配置文件详解# 是否允许匿名用户登录。默认值为YES。anonymousYES|NO# 是否允许匿名用户上传文件(如果设置为YES&#xff0c;则write_enable也必须设置为YES)。默认值为NO。anon_upload_enableYES|NO# 是否允许匿名用户创建目录(如果设置为YES&#xff0c;则write_e…

【youcans 的图像处理学习课】11. 形态学图像处理(上)

专栏地址&#xff1a;『youcans 的图像处理学习课』 文章目录&#xff1a;『youcans 的图像处理学习课 - 总目录』 【youcans 的图像处理学习课】11. 形态学图像处理&#xff08;上&#xff09; 【youcans 的图像处理学习课】11. 形态学图像处理&#xff08;中&#xff09; 【y…

Android Sdk 安装配置

在我们安装了Android Studio之后&#xff0c;我们发现不能使用&#xff0c;因为缺少一个Sdk的配置&#xff0c;下面就给大家详细介绍一下Sdk的配置。 打开我们的Android Studio。 选择Do not import settinge&#xff0c;然后点击OK。 点击 Cancel 退出即可&#xff0c;后面…

爬虫requests高阶篇详细教程

文章目录 一、前言 二、SSL验证 三、代理设置 四、超时设置 ​ 五、身份认证 1&#xff09;基本身份认证 2&#xff09;摘要式身份认证 六、总结 一、前言 本篇文高阶篇&#xff0c;上一篇为基础篇&#xff0c;希望你一定要学完基础再来看高阶篇内容 基础篇文章可以看大…

Android Studio 创建第一个项目应用

选择打开"Start a new Android Studio project"&#xff0c;新建一个Android项目。 选择一个空白的Activity&#xff0c;然后点击Next。 修改相应Android项目的名称、包名、项目位置等&#xff0c;以符合项目要求&#xff0c;点击Finish。 第一次创建项目可能会这样…

主成分分析(PCA)及其可视化——matlab

本文所用为matlab2016a matlab安装&#xff1a;待更新 matlab基础知识&#xff1a;待更新 如果本文内容已学会&#xff0c;可以看看python的哦 主成分分析&#xff08;PCA&#xff09;及其可视化——python_菜菜笨小孩的博客-CSDN博客 文章目录 一、主成分分析的原理 二…

Android studio真机调试

在我们进行Android开发的时候&#xff0c;调试这个环节是必不可少的也是至关重要的&#xff0c;使用真机调试可以更加准确清晰的显示效果。 真机调试Android应用 1.用数据线将手机连接到电脑&#xff0c;打开手机的开发者选项。 由于各个手机厂商的打开方式都不同&#xff0…

主成分分析(PCA)及其可视化——python

可以看看这个哦python入门&#xff1a;Anaconda和Jupyter notebook的安装与使用_菜菜笨小孩的博客-CSDN博客 如果你学会了python 可以看看matlab的哦 主成分分析&#xff08;PCA&#xff09;及其可视化——matlab_菜菜笨小孩的博客-CSDN博客 目录 一、主成分分析的原理 二…

Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

我们安装完毕Android Studio之后&#xff0c;创建第一个项目&#xff0c;我们想要使用模拟器进行运行&#xff0c;但是当我们启动模拟器的时候却发现无法启动&#xff0c;而且出现了错误信息。 首先我们要知道错误信息是什么&#xff1f; 提示信息的意思是说“avd系统路径找不…

多元线性回归模型-数学建模类-matlab详解

如果本文有点小难理解的话&#xff0c;可以看看我之前的基础线性规划啥的&#xff0c;有lingo&#xff0c;matlab还有python 就不给大家放链接了&#xff0c;想看的话&#xff0c;点击头像即可&#xff01;&#xff01; 文章目录 &#xff08;1&#xff09;一元线性回归之旧…

手把手教你爬虫requests实战演练——python篇

文章目录 一、前言 二、实战 1&#xff09;获取百度网页并打印 2&#xff09;获取帅哥图片并下载到本地 4) 获取美女视频并下载到本地 5&#xff09;搜狗关键词搜索爬取 6&#xff09;爬取百度翻译 7&#xff09;爬取豆瓣电影榜单 8&#xff09;JK妹子爬取 总结&#xff…

Android studio 3.x 安装genymotion插件

在日常的Android开发中&#xff0c;模拟器是必不可少的&#xff0c;下面就给大家讲解一下如何在Android studio 3.x 安装genymotion插件。 对于Android studio 3.x之前的版本&#xff0c;可以直接在插件那里在线安装genymotion插件。 Android studio 3.0版本之后就搜索不到了…

图片弹框

用js实现图片弹框的特效。 效果展示 代码展示 html内容 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title></head><body><img id"myImg" src"img/c_7…

最短路径和距离及可视化——matlab

文章目录 一、前言 二、最短路线 2.1 教程 2.1.1 sparse创建稀疏矩阵 2.1.2 有向图最短路径&#xff08;1&#xff09; 2.1.3 有向图最短路径&#xff08;2&#xff09; 2.1.4 无向图最短路径&#xff08;1&#xff09; 2.1.5无向图最短路径&#xff08;2&#xff09; …

没有bug队——加贝——Python 练习实例 1,2

目录 1.题目&#xff1a; 2.题目&#xff1a; 1.题目&#xff1a; 有四个数字&#xff1a;1、2、3、4&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;各是多少&#xff1f; 程序分析&#xff1a;可填在百位、十位、个位的数字都是1、2、3、4。组成所有的…

【OpenCV 例程300篇】250. 梯度算子的传递函数

『youcans 的 OpenCV 例程300篇 - 总目录』 【youcans 的 OpenCV 例程300篇】250. 梯度算子的传递函数 1. 空间卷积与频域滤波 空间域图像滤波是图像与滤波器核的卷积&#xff0c;而空间卷积的傅里叶变换是频率域中相应变换的乘积&#xff0c;因此频率域图像滤波是频率域滤波器…