Bootstrap设计可响应式的移动网页

news/2024/5/2 10:45:45/文章来源:https://blog.csdn.net/weixin_62190821/article/details/127196281

目录

1、设计响应式图片

1.1、使用标签(中)

 1.2、使用css图片

 2、响应式视频

3、响应式导航菜单

 4、响应式表格

4.1、隐藏表格中的列

 4.2 滚动表格中的列

 4.3  转换表格中的列 


1、设计响应式图片

1.1、使用<picture>标签(<body>中)

<picture>

<source media="(max-width: 600px)" srcset="m1.jpg">

<img src="m2.jpg"> </picture>

<picture>标签包含<source>标签和<img>标签,根据不同设备屏幕的宽度,显示不同的图片。上述代码的功能是,当屏幕的宽度小于 600 像素时,将显示 m1.jpg 图片,否则将显示默认图片 m2.jpg。

<!DOCTYPE html>
<html>
<head>
<title>使用<picture>标签</title>
</head>
<body>
<h1>使用<picture>标签实现响应式图片</h1><picture><source media="(min-width:900px)" srcset="m1.jpg"><img src="m4.jpg"/>
</picture>
</body>
</html>

 

 

 1.2、使用css图片

@media screen and (min-width: 600px) { CSS 样式信息 }

上述代码的功能是,当屏幕大于 600 像素时,将应用大括号内的 CSS 样式。

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width",initial-scale=1,maxinum-scale=1.0,user-scalable=”no”><!--指定页头信息--><title>使用CSS图片</title><style>/*当屏幕宽度大于800像素时*/@media screen and (min-width: 800px) {.bcImg {background-image:url(m3.jpg);background-repeat: no-repeat;height: 500px;}}/*当屏幕宽度小于799像素时*/@media screen and (max-width: 799px) {.bcImg {background-image:url(m4.jpg);background-repeat: no-repeat;height: 500px;}}</style>
</head>
<body>
<div class="bcImg"></div>
</body>
</html>

 

 2、响应式视频

相比于响应式图片,响应式视频的处理稍微要复杂一点。响应式视频不仅仅要处理视频播放器的尺寸,还要兼顾到视频播放器的整体效果和体验问题。下面讲述如何使用<meta>标签处理响应式视频。

<meta>标签中的 viewport 属性可以设置网页设计的宽度和实际屏幕的宽度的大小关系。

语法格式如下:

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

3、响应式导航菜单

 导航菜单是设计网站中最常用的元素。下面讲述响应式导航菜单的实现方法。利用媒体查询技术中的 media 关键字,获取当前设备屏幕的宽度,根据不同的设备显示不同的 CSS样式。

<!DOCTYPE HTML>
<html>
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CSS3响应式菜单</title>
<style>.nav ul {margin: 0;padding: 0;}.nav li {margin: 0 5px 10px 0;padding: 0;list-style: none;display: inline-block;*display:inline; /* ie7 */}.nav a {padding: 3px 12px;text-decoration: none;color: #999;line-height: 100%;}.nav a:hover {color: #000;}.nav .current a {background: #999;color: #fff;border-radius: 5px;}/* right nav */.nav.right ul {text-align: right;}/* center nav */.nav.center ul {text-align: center;}@media screen and (max-width: 600px) {.nav {position: relative;min-height: 40px;}.nav ul {width: 180px;padding: 5px 0;position: absolute;top: 0;left: 0;border: solid 1px #aaa;background-color: aqua;border-radius: 5px;box-shadow: 0 1px 2px rgba(0,0,0,.3);}.nav li {display: none; /* hide all <li> items */margin: 0;}.nav .current {display: block; /* show only current <li> item */}.nav a {display: block;padding: 5px 5px 5px 32px;text-align: left;}.nav .current a {background: none;color: #666;}/* on nav hover */.nav ul:hover {background-color: blue;}.nav ul:hover li {display: block;margin: 0 0 5px;}/* right nav */.nav.right ul {left: auto;right: 0;}/* center nav */.nav.center ul {left: 50%;margin-left: -90px;}}</style>
</head><body>
<h2>风云网上商城</h2>
<!--导航菜单区域-->
<nav class="nav"><ul><li class="current"><a href="#">家用电器</a></li><li><a href="#">电脑</a></li><li><a href="#">手机</a></li><li><a href="#">化妆品</a></li><li><a href="#">服装</a></li><li><a href="#">食品</a></li></ul>
</nav>
<p>风云网上商城-专业的综合网上购物商城,销售超数万品牌、4020万种商品,囊括家电、手机、电脑、化妆品、服装等6大品类。秉承客户为先的理念,商城所售商品为正品行货、全国联保、机打发票。</p>
</body>
</html>

 

 4、响应式表格

4.1、隐藏表格中的列

为了适配移动端的布局效果,可以隐藏表格中不要用的列。通过利用媒体查询技术中的media 关键字,获取当前设备屏幕的宽度,根据不同的设备将不重要的列设置为:display:none,从而隐藏指定的列

<!DOCTYPE html>
<html >
<head><meta name="viewport" content="width=device-width, initial-scale=1"><title>隐藏表格中的列</title><style>@media only screen and (max-width: 600px) {table td:nth-child(4),table th:nth-child(4),table td:nth-child(6),table th:nth-child(6),table td:nth-child(1),table th:nth-child(1){display: none;}}</style>
</head>
<body>
<h1 align="center">商品采购信息表</h1>
<table width="100%" cellspacing="1" cellpadding="5" border="1"><thead><tr><th>编号</th><th>产品名称</th><th>价格</th><th>产地</th><th>库存</th><th>级别</th></tr></thead><tbody align="center"><tr><td>1001</td><td>冰箱</td><td>6800元</td><td>上海</td><td>4999</td><td>1级</td></tr><tr><td>1002</td><td>空调</td><td>5800元</td><td>上海</td><td>6999</td><td>1级</td></tr><tr><td>1003</td><td>洗衣机</td><td>4800元</td><td>北京</td><td>3999</td><td>2级</td></tr><tr><td>1004</td><td>电视机</td><td>2800元</td><td>上海</td><td>8999</td><td>2级</td></tr><tr><td>1005</td><td>热水器</td><td>320元</td><td>上海</td><td>9999</td><td>1级</td></tr><tr><td>1006</td><td>手机</td><td>1800元</td><td>上海</td><td>9999</td><td>1级</td></tr></tbody>
</table>
</body>
</html>

 4.2 滚动表格中的列

通过滚动条的方式,可以将手机端看不到的信息,进行滚动查看。实现此效果主要是利用媒体查询技术中的 media 关键字,获取当前设备屏幕的宽度,根据不同的设备宽度,改变表格的样式,将表头有横向排列变成纵向排列。

<!DOCTYPE html>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1"><title>滚动表格中的列</title><style>@media only screen and (max-width: 650px) {*:first-child+html .cf { zoom: 1; }table { width: 100%; border-collapse: collapse; border-spacing: 3; }th,td { margin: 0; vertical-align: top; }th { text-align: left; }table { display: block; position: relative; width: 100%; }/* <!--将thead所在部分至于右侧-->*/thead { display: block; float: left; }/*white-space: nowrap; 换行问题*/tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }thead tr { display: block; }th { display: block; text-align: right; }tbody tr { display: inline-block; vertical-align: top; }td { display: block; min-height: 1.25em; text-align: left; }th {background-color: antiquewhite; border-bottom: 0; border-left: 0; }td { border-left: 0; border-right: 0; border-bottom: 0; }tbody tr { border-left: 1px solid #babcbf; }th:last-child,td:last-child { border-bottom: 1px solid red; }}</style>
</head>
<body>
<h1 align="center">商品采购信息表</h1>
<table width="100%" cellspacing="1" cellpadding="5" border="1"><thead><tr><th>编号</th><th>产品名称</th><th>价格</th><th>产地</th><th>库存</th><th>级别</th></tr></thead><tbody align="center"><tr><td>1001</td><td>冰箱</td><td>6800元</td><td>上海</td><td>4999</td><td>1级</td></tr><tr><td>1002</td><td>空调</td><td>5800元</td><td>上海</td><td>6999</td><td>1级</td></tr><tr><td>1003</td><td>洗衣机</td><td>4800元</td><td>北京</td><td>3999</td><td>2级</td></tr><tr><td>1004</td><td>电视机</td><td>2800元</td><td>上海</td><td>8999</td><td>2级</td></tr><tr><td>1005</td><td>热水器</td><td>320元</td><td>上海</td><td>9999</td><td>1级</td></tr><tr><td>1006</td><td>手机</td><td>1800元</td><td>上海</td><td>9999</td><td>1级</td></tr></tbody>
</table>
</body>
</html>

 

 4.3  转换表格中的列 

转换表格中的列就是将表格转化为列表。利用媒体查询技术中的 media 关键字,获取当前设备屏幕的宽度,然后利用 CSS 技术将表格转化为列表。

<!DOCTYPE html>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1"><title>转换表格中的列</title><style>@media only screen and (max-width: 800px) {/* 强制表格为块状布局 */table, thead, tbody, th, td, tr {display: block;}/* 隐藏表格头部信息 */thead tr {display:none;}tr { border: 1px solid red; }td {/* 显示列 */border: none;border-bottom: 1px solid green;position: relative;padding-left: 50%;white-space: normal;text-align:left;}}</style>
</head>
<body>
<h1 align="center">学生考试成绩表</h1>
<table width="100%" cellspacing="1" cellpadding="5" border="1"><thead><tr><th>学号</th><th>姓名</th><th>语文成绩</th><th>数学成绩</th><th>英语成绩</th><th>文综成绩</th><th>理综成绩</th></tr></thead><tbody align="center"><tr><td>1001</td><td>张飞</td><td>126</td><td>146</td><td>124</td><td>146</td><td>106</td></tr><tr><td>1002</td><td>王小明</td><td>106</td><td>136</td><td>114</td><td>136</td><td>126</td></tr><tr><td>1003</td><td>蒙华</td><td>125</td><td>142</td><td>125</td><td>141</td><td>109</td></tr><tr><td>1004</td><td>刘蓓</td><td>126</td><td>136</td><td>124</td><td>116</td><td>146</td></tr><tr><td>1005</td><td>李华</td><td>121</td><td>141</td><td>122</td><td>142</td><td>103</td></tr><tr><td>1006</td><td>赵晓</td><td>116</td><td>126</td><td>134</td><td>146</td><td>116</td></tr></tbody>
</table>
</body>
</html>

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

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

相关文章

Linux 中的which命令及C/C++代码实现

Linux which命令允许用户搜索$PATH环境变量中的路径列表&#xff0c;并输出作为参数指定的命令的完整路径。该命令通过查找与给定命令匹配的可执行文件来工作。 如果您想知道指定的程序存储在哪里&#xff0c;那么which命令可以帮助您识别路径&#xff0c;使用起来非常简单。 …

一个Python文件被多个文件同时导入会怎么样?

我们在写代码时&#xff0c;往往会遇到一个Python文件被多个文件同时导入&#xff0c;如下例所示&#xff1a; test1.py、test2.py和test3.py是3个Python文件。其中&#xff0c;test2.py导入了test1.py中的所有内容&#xff0c;test3.py导入了test1.py和test2.py中的所有内容。…

第 6 章 机器人仿真系统 1 —— 概述 + URDF 集成 Rviz 基本流程 urdf01_rviz

文章目录0 学习目标1 相关组件1.1 URDF —— 机器人建模1.2 Rviz —— 感知环境1.3 Gazebo —— 创建仿真环境2 课程说明3 URDF 集成 Rviz 基本流程3.1 创建功能包&#xff0c;导入依赖 —— 功能包 urdf01_rviz3.2 编写 URDF 文件 —— demo01_helloworld.urdf3.3 launch 文件…

读取文件报错:FileNotFoundError: [Errno 2] No such file or directory

文章目录问题描述问题分析解决办法问题描述 使用 img Image.open(data/DSC_8923.jpg) 读取一张图片时&#xff0c;报 FileNotFoundError: [Errno 2] No such file or directory: data/DSC_8923.jpg 的错误&#xff0c;如下图所示&#xff1a; 问题分析 很明显&#xff0c…

yolov5 原理解析

1、 网络结构 关于YOLOv5的网络结构其实网上相关的讲解已经有很多了。网络结构主要由以下几部分组成&#xff1a; Backbone: New CSP-Darknet53Neck: SPPF, New CSP-PANHead: YOLOv3 Head激活函数 通过和上篇博文讲的YOLOv4对比&#xff0c;其实YOLOv5在Backbone部分没太大变…

基础 | NIO - [0 复制]

INDEX1 0 复制1 0 复制演进1 示例1 0 复制 通常在进行 IO 操作时&#xff0c;涉及到 2 种复制 DMA 复制 不需要 CPU 参与&#xff0c;效率极高&#xff0c;但不可避免CPU 复制 就是 0 复制中需要消灭的复制&#xff0c;0 复制其实是指 0 CPU 复制 1 0 复制演进 BIO 用户态/…

如何自己设计一个定时任务分布式调度器

为什么要使用分布式调度器 分布式调度器主要应用于系统中一些任务定时调度处理。通常我们设计一个定时任务&#xff0c;最简单的就是直接使用scheduled注解配置好定时任务&#xff0c;这样开发工作也简单。但是也许会有一种情况&#xff0c;如果发生在生产环境上&#xff0c;需…

FPGA学习笔记(五)Testbench文件编写

这里写目录标题Testbench文件时间单位/精度测试模块输入信号初始化always 语句实现信号变化实例化系统函数Testbench文件 编写Testbench的目的是在Modsim中进行仿真验证&#xff0c;查看仿真波形和打印信息验证代码逻辑。 例如下面代码&#xff1a; timescale 1ns/1ns modul…

python数据容器---list

目录 1、列表的定义 1.1 基本语法 1.2 定义变量 1.3 定义空列表 2、列表的下标&#xff08;索引&#xff09; 2.1 基本语法 2.1.1 正向查找 2.1.2 方向查找 2.1.3 嵌套列表 3、列表的常用操作 3.1 查找某元素的下标 3.2 修改特定索引的值 3.3 插入追加元素 3.4 删…

基于java+jsp+ssm水果蔬菜销售系统

生活中,人们买水果或者蔬菜都是去菜市场买,因为那里是卖水果、蔬菜的聚集地。农商们把水果、蔬菜从远处运到那里,进行销售。但是这种销售方式的不足在于每次运输的数量是有限的,并且运输过程中也影响了水果、蔬菜的口感。随着生活节奏的加快,人们越来越注重高效的在线服务。在线…

让GPU跑的更快

作为一个cuda爱好者 一定要好好看看 不再让CPU和总线拖后腿&#xff1a;Exafunction让GPU跑的更快&#xff01;确实只用cpu会卡的一比... 在云服务中使用 GPU 是获得低延迟深度学习推理服务最经济的方式。使用 GPU 的主要瓶颈之一是通过 PCIe 总线在 CPU 和 GPU 内存之间复制…

关卡一: ajax

【学习前提】 完成前端开发基础和JavaScript基础学习 【阶段说明】 Ajax这个术语源自描述从基于 Web 的应用到基于数据的应用。 Ajax 不是一种新的编程语言&#xff0c;而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 使用 JavaScript 向服务器提出请求并处理响…

有被惊艳到 复刻一个大型互联网项目有多简单?大型网约车项目实战+东宝商城(附项目白皮书+核心源码)

从上图可以看出&#xff0c;面试准备其实可以分为两个部分&#xff1a;第一个部分是日常工作中对自己负责项目的抽象、提效、数据化表达&#xff1b;不断反思如何用技术的手段提升业务价值&#xff0c;就是我们日常常说的技术为业务赋能&#xff1b;第二个部分才是决定面试后 &…

第八章 CSP 架构 - CSP 网关配置

文章目录第八章 CSP 架构 - CSP 网关配置CSP 网关配置CSP 网关管理器定义服务器访问定义应用程序访问CSP 网关参数第八章 CSP 架构 - CSP 网关配置 CSP 网关配置 CSP 网关是安装在 Web 服务器上并由其加载的 DLL 或共享库。 CSP 网关检测对扩展名为 .csp 或 .cls 的文件的任何…

ApplicationRunner和CommandLineRunner的作用和区别

一、作用 ApplicationRunner和CommandLineRunner都用于在容器启动后&#xff08;也就是SpringApplication.run()执行结束&#xff09;执行某些逻辑。 可用于项目的一些准备工作&#xff0c;比如加载配置文件&#xff0c;加载执行流&#xff0c;定时任务等 二、共同点和区别 …

nodejs+vue+elementui学生成绩管理系统python/php/java445

前台首页功能模块 学生成绩管理系统设计&#xff1b;主要实现首页、优秀教师、优秀班主任、学校简介、教学课件、公告信息、优秀学生、试卷列表、新闻资讯、我的、跳转到后台&#xff0c;功能。 优秀教师&#xff0c;在优秀教师页面可以填写标题、教师工号、荣誉等详细&#xf…

经典论文研读:《F1:A Distributed SQL Database That Scales》

一 简介 F1是Google提出的分布式关系型数据库&#xff0c;支持便捷的水平伸缩。这篇论文是NewSQL分布式数据库架构的基石。论文首先定义了F1分布式数据库设计的关键方向&#xff1a; 可伸缩性&#xff1a;数据库要提供对业务透明的水平扩展能力&#xff0c;并支持数据迁移、数…

全同态加密(FHE)体系概述

同态加密定义 假设有这样一个场景&#xff0c;用户有一组私密数据&#xff0c;被加密存储在了第三方的云平台&#xff0c;现在&#xff0c;该用户想对这组数据进行某种处理&#xff0c;但是处理过程和结果都不想让第三方云平台看到。当然&#xff0c;用户可以选择将数据下载下…

ITU-T G.781解读(一)

引言 本系列是作者在学习ITU-T时做学习笔记之用&#xff0c;ITU-T的标准库是一个非常庞大的系列&#xff0c;尽管网络上有许多对标准的解读&#xff0c;但作者认为要想系统的掌握一个系列的知识&#xff0c;还是要自己看一遍原汁原味的原文。 时钟同步准则 同步信息通过同步…

【操作系统】第三章:内存管理

第三章&#xff1a;内存管理 OVERVIEW第三章&#xff1a;内存管理一、内存管理1.内存管理内容&#xff08;1&#xff09;地址转换&#xff1a;Point1&#xff1a;程序装入Point2&#xff1a;程序链接&#xff08;2&#xff09;内存保护&#xff1a;&#xff08;3&#xff09;内…