[CSS3]响应式布局

article/2025/8/7 1:23:49

导读

响应式就是一套代码, 兼容大中小不同的屏幕, 即网页内容不变, 网页布局随屏幕切换而改变

媒体查询

响应式布局的核心技术是媒体查询

  1. 媒体查询可以检测屏幕尺寸, 设置差异化的css

开发中的常用写法

  1. 使用范围属性, 划定屏幕范围
  • max-width 最大宽度
  • min-width 最小宽度
  1. 示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 视口宽度小于等于768px, 网页背景色是粉色 */@media (max-width: 768px) {body {background-color: pink;}}/* 视口宽度大于等于1200px, 网页背景色是skyblue */@media (min-width: 1200px) {body {background-color: skyblue;}}</style>
</head>
<body></body>
</html>

书写顺序: 所有的css属性都有层迭性, 所以使用媒体查询时也要注意书写顺序

  1. 如果使用min-width属性, 媒体查询要从小往大写
  2. 如果使用max-width属性, 媒体查询要从大往小写

  1. 示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/*视口宽度 >= 768px,网页背景色是 粉色视口宽度 >= 992px,网页背景色是 绿色视口宽度 >= 1200px,网页背景色是 skyblue*//* css属性都有层叠性 *//* 不按顺序写,屏幕大于1200px时,蓝色不会生效, 被绿色层叠  *//* @media (min-width: 1200px) {body {background-color: skyblue;}} */@media (min-width: 768px) {body {background-color: pink;}}@media (min-width: 992px) {body {background-color: green;}}@media (min-width: 1200px) {body {background-color: skyblue;}}</style>
</head>
<body></body>
</html>

媒体查询的完整写法 (工作中常用的还是简写)

  1. 关键词的可选值
  • and (多个条件要同时满足)
  • only (多个条件至少满足一个)
  • not (条件不满足)
  1. 媒体类型的可选值
  • 媒体是用来区分设备类型的,如屏幕设备、打印设备等,其中手机、电脑、平板都属于屏幕设备

  1. 媒体特性的可选值
  • 媒体特性主要用来描述媒体类型的具体特征,如当前屏幕的宽高、分辨率、横屏或竖屏等

外链式css引入: 满足条件时样式表才会生效

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 视口宽度 >= 992px,网页背景色为粉色 --><!-- 视口宽度 >= 1200px,网页背景色为绿色 --><link rel="stylesheet" href="./one.css" media="(min-width: 992px)"><link rel="stylesheet" href="./two.css" media="(min-width: 1200px)">
</head>
<body></body>
</html>

小屏隐藏元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.box {display: flex;width: 100%;}.left {width: 300px;min-height: 500px;background-color: pink;}.main {flex: 1;min-height: 500px;background-color: skyblue;}/* 如果检测到视口宽度小于768px, 认为是手机端, left隐藏 */@media (max-width: 768px) {.left {display: none;}}</style>
</head>
<body>/* 两列布局: 左侧固定宽度, 右侧宽度自适应 */<div class="box"><div class="left">left</div><div class="main">响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果响应式网页效果</div></div>
</body>
</html>
  1. 大屏布局效果

  1. 中屏的布局效果

  1. 小屏的布局效果

BootStrap

了解BootStrap

知道UI框架的作用

  1. UI框架概念: 将常见效果进行统一封装后形成的一套代码, 例如:BootStrap
  2. 作用: 基于框架开发,效率高,稳定性高

使用BootStrap框架快速开发响应式网页

  1. Bootstrap 是由 Twitter 公司开发维护的前端UI 框架,它提供了大量编写好的CSS 样式,允许开发者结合一定 HTML 结构及JavaScript,快速编写功能完善的网页及常见交互效果。

体验一下: 引入框架, 通过类名, 就可以快速实现响应式布局, 非常方便

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>体验BootStrap</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css"><style>.container div {height: 50px;background-color: pink;}</style>
</head>
<body><div class="container"><div class="col-lg-3 col-md-6 col-sm-12">1</div><div class="col-lg-3 col-md-6 col-sm-12">1</div><div class="col-lg-3 col-md-6 col-sm-12">1</div><div class="col-lg-3 col-md-6 col-sm-12">1</div></div>
</body>
</html>
  1. 大屏效果:

  1. 中屏效果

  1. 小屏效果

  1. 超小屏效果

使用步骤

下载: 首页 → BootStrap3中文文档→下载BootStrap

  1. 中文官网: http://www.bootcss.com/
  2. 开发版本和源码版本

使用

  1. 引入BootStrap提供的CSS代码

  1. 调用类:使用Bootstrap提供的样式
  • container: 响应式布局版心类
  1. 代码演示
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>BootStrap使用方法</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css"><style>div {height: 50px;background-color: pink;}</style>
</head>
<body><div class="container">1</div>
</body>
</html>

  • 盒子添加container这个类名后, 就有了版心的效果, 并且使用媒体查询进行了屏幕适配

栅格系统

栅格系统是BootStrap框架的核心

栅格化是指将整个网页的宽度分成若干等份

BootStrap3默认将网页分成12等份, 把所有的视口分为4类

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>栅格系统</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css"><style>.container div {height: 50px;background-color: pink;}</style>
</head><body><!--需求: 大屏: 一行排列4个内容  (12 / 4 = 3)中屏:一行排列2个内容   (12 / 2 = 6)--><div class="container"><div class="col-lg-3 col-md-6">1</div><div class="col-lg-3 col-md-6">2</div><div class="col-lg-3 col-md-6">3</div><div class="col-lg-3 col-md-6">4</div></div></body>
</html>

栅格系统常用类名

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>栅格系统-类</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css"><style>div {height: 50px;background-color: pink;margin-bottom: 50px;}</style>
</head>
<body><!-- 版心样式 --><!-- 盒子居中, 自带左右各15px的padding --><div class="container">1</div><!-- 不需要版心内边距的时候用 --><!-- row类作用就是抵消container类的15px的内边距, row有-15px的外边距 --><div class="container"><div class="row">2</div></div><!-- 通栏样式--><!-- 宽度100%: 自带左右各15px的padding --><div class="container-fluid">3</div>
</body>
</html>
  1. .container是 Bootstrap 中专门提供的类名,所有应用该类名的盒子,默认已被指定宽度且居中。
  2. .container-fluid也是 Bootstrap 中专门提供的类名,所有应用该类名的盒子,宽度均为 100%。
  3. 分别使用.row类名和.col类名定义栅格布局的行和列。
  • .container类自带间距15px;
  • .row类自带间距-15px

全局样式

掌握BootStrap手册用法使用全局CSS样式美化标签

  1. 手册: BootStrap预定义了大量类用来美化页面,掌握手册的查找方法是学习全局样式的重点
  2. 网站首页 →Bootstrap3中文文档 →全局css样式 →按分类导航查找目标类

表格样式

  1. 在官网中查看表格的全局样式

  1. 在代码中使用这些样式, 查看效果
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>全局CSS样式-表格</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head>
<body><table class="table table-striped table-bordered table-hover"><tr><th>数字1</th><th>数字2</th><th>数字3</th></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr></table></body>
</html>

  • 没有书写任何样式代码,只是为元素添加了样式类名, 就完成了样式的修改

按钮样式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>全局CSS样式-按钮</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head>
<body><button class="btn btn-success btn-lg">成功</button><button class="btn btn-warning btn-xs">警告</button>
</body>
</html>

组件

使用BootStrap组件快速布局网页

  1. 组件: BootStrap提供的常见功能,包含了HTML结构和CSS样式

  1. 使用方法
  • 引入BootStrap样式
  • 复制结构,修改内容
  1. 示例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>组件</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head><body>/* 路径导航组件  */<ol class="breadcrumb"><li><a href="#">首页</a></li><li><a href="#">用户中心</a></li><li><a href="#">用户</a></li><li class="active">数据</li></ol>
</body></html>

插件

使用BootStrap插件实现常见的交互效果

  1. BootStrap提供的常见效果,包含了HTML结构,CSS样式与JavaScript

  1. 插件的使用步骤
  • 引入BootStrap样式
  • 引入js文件: jQueryjs + BootStrap.minjs

  1. 复制HTML结构,并适当调整结构或内容

示例代码

下拉菜单效果

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>插件</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head><body><div class="dropdown"><button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown trigger<span class="caret"></span></button><ul class="dropdown-menu" aria-labelledby="dLabel"><li>111</li><li>111</li><li>111</li></ul></div><script src="./js/jquery.js"></script><script src="./bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body></html>

轮播图效果

复制技巧: 如果代码多, 拖拽复制就不方便, 左键点击开始位置, 按住shift再右键点击结束位置, 快速选择

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>插件</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head><body><div id="carousel-example-generic" class="carousel slide" data-ride="carousel"><!-- Indicators --><ol class="carousel-indicators"><li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li><li data-target="#carousel-example-generic" data-slide-to="1"></li><li data-target="#carousel-example-generic" data-slide-to="2"></li><li data-target="#carousel-example-generic" data-slide-to="3"></li></ol><!-- Wrapper for slides --><div class="carousel-inner" role="listbox"><div class="item active"><img src="../03-项目-AlloyTeam/AlloyTeam/uploads/banner_1.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="../03-项目-AlloyTeam/AlloyTeam/uploads/banner_2.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="../03-项目-AlloyTeam/AlloyTeam/uploads/banner_3.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="../03-项目-AlloyTeam/AlloyTeam/uploads/banner_4.jpg" alt="..."><div class="carousel-caption">...</div></div></div><!-- Controls --><a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span><span class="sr-only">Next</span></a></div><script src="./js/jquery.js"></script><script src="./bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body></html>

字体图标

使用Glyphicons字体图标实现网页中的图标效果

  1. Glyphicons字体图标的使用步骤
  • HTML页面引入BootStrap样式文件
  • 空标签调用对应类名
    • glyphicon
    • 图标类
  1. 示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>字体图标</title><link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head>
<body><i class="glyphicon glyphicon-user"></i>
</body>
</html>

腾讯全端

项目准备

新建index.html文件和index.less文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title><link rel="stylesheet" href="./lib/bootstrap-3.4.1-dist/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head>
<body><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body>
</html>
  1. bootstrap.min.css中已经集成了清除浏览器默认的代码

banner

使用轮播组件, 并设置banner图的高度

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title><link rel="stylesheet" href="./lib/bootstrap-3.4.1-dist/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head>
<body><!-- banner --><div id="carousel-example-generic" class="carousel slide" data-ride="carousel"><!-- Indicators --><ol class="carousel-indicators"><li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li><li data-target="#carousel-example-generic" data-slide-to="1"></li><li data-target="#carousel-example-generic" data-slide-to="2"></li><li data-target="#carousel-example-generic" data-slide-to="3"></li></ol><!-- Wrapper for slides --><div class="carousel-inner" role="listbox"><div class="item active"><img src="./uploads/banner_1.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="./uploads/banner_2.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="./uploads/banner_3.jpg" alt="..."><div class="carousel-caption">...</div></div><div class="item"><img src="./uploads/banner_4.jpg" alt="..."><div class="carousel-caption">...</div></div></div><!-- Controls --><a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span><span class="sr-only">Next</span></a></div><!-- banner --><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body>
</html>
// banner
.carousel {// 如果视口<768, 图250 max-width// 如果视口<992, 图400 max-width// 如果视口>992, 图500 min-widthimg {height: 100% !important;}@media (max-width: 992px) {.item {height: 400px;}}@media (max-width: 768px) {.item {height: 250px;}}@media (min-width: 992px) {.item {height: 500px;}}
}

头部组件

使用导航条组件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title><link rel="stylesheet" href="./lib/bootstrap-3.4.1-dist/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head>
<body><!-- 头部 --><nav class="navbar navbar-default navbar-fixed-top"><div class="container"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#"><img src="./images/logo.png" alt=""></a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="#">首页</a></li><li><a href="#">博客</a></li><li><a href="#">GitHub</a></li><li><a href="#">Tweb Conf</a></li><li><a href="#">SuperStar</a></li><li><a href="#">Web前端</a></li><li><a href="#">关于</a></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid --></nav><!-- 头部 --><!-- banner -->... ...<!-- banner --><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body>
</html>
// 头部
.navbar-default {background-color: transparent;border: 0;
}

定制导航

bootStrap默认的导航条组件, 是屏幕小于768时才折叠为图标, 项目需求是小于992时就堆叠排列

  1. 点击定制, 里面有非常多的配置项

  1. 如果知道位置, 可以从左侧的导航中索引, 如果不清楚, 直接全局搜索

  1. 找到需要修改的配置项之后, 修改为自己需要的值

  1. 下载定制好的bootstarp, 然后在项目中使用

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title>/* 标准版 */<!-- <link rel="stylesheet" href="./lib/bootstrap-3.4.1-dist/css/bootstrap.min.css"> -->/* 定制版 */<link rel="stylesheet" href="./lib/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head><body><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body></html>
  1. 查看效果: 中屏的时候就可以堆叠排列了

开源项目

了解排版标签

  1. bootstrap为常见的标签都优化了默认样式, 同时提供了很多的类名, 可以方便的修改标签样式
  2. 如果需要查阅和使用, 找到全局样式, 点击排版区域进行查看

使用bootstrap栅格系统布局时, 栅格盒子只做布局, 内容的排版或者盒子的间距全部交给子级盒子

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title><!-- <link rel="stylesheet" href="./lib/bootstrap-3.4.1-dist/css/bootstrap.min.css"> --><link rel="stylesheet" href="./lib/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head><body><!-- 开源项目 --><div class="project"><div class="container">/* 栅格盒子只做布局, 其他的属性, 都要加给a标签 */<div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div></div></div><!-- 开源项目 --><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body></html>
// 开源项目
.project {.container {div {background-color: pink;a {display: block;height: 200px;background-color: skyblue;}}}
}
  1. 这样布局的原因就是, 栅格系统把网页等分为12份, 已经占满了页面
  2. 如果再额外给栅格布局的盒子添加外边距, 会让布局容器超过100%, 导致换行排列

  1. 所以最佳实践, 栅格盒子只做布局 ,不设置任何属性, 这也符合单一职责的软件开发思想
  2. 如果想让盒子之间有距离,可以控制子集盒子的边距

完成开源项目区域

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>腾讯全端</title><link rel="stylesheet" href="./lib/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="./css/index.css">
</head><body><!-- 头部 -->... ...<!-- 头部 --><!-- banner -->......<!-- banner --><!-- 开源项目 --><div class="project"><h3 class="h2">OpenSource/开源项目</h3><p>种类众多的开源项目,让你爱不释手</p><div class="container"><!-- .row --><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div><div class="col-xs-12 col-sm-6 col-md-3"><a href="#">1</a></div></div></div><!-- 开源项目 --><script src="./lib/js/jquery.js"></script><script src="./lib/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body></html>
// 开源项目
.project {padding-top: 30px;text-align: center;.container {div {a {display: block;height: 200px;background-color: skyblue;}}}
}

扩展内容

在全局样式中, 还有辅助类和响应式工具这两个内容我们没接触, 现在了解一下

辅助类, 帮助我们快速完成一些效果

  1. 快速浮动和清除浮动可能会用到, 需要的时候, 查阅一下, 添加类名就行

响应式工具: 不同视口宽度控制元素显示隐藏

  1. 通过类名, 就能控制元素在不同适口的显示和隐藏
  2. 之前案例自己用媒体查询控制也行, 用这个类名方便一点


http://www.hkcw.cn/article/hSddNqbmUn.shtml

相关文章

Postgre数据库分区生产实战

1.分区背景 随着业务的发展&#xff0c;单表数据量日益增加&#xff0c;服务端对数据查询时长逐步的在增大&#xff0c;单表已经不能满足正常的查询需求了。所以&#xff0c;对于Postgre数据库最好的办法就是针对这个一个数据量比较大的表&#xff0c;对其进行分区处理。为啥采…

高效微调大模型:LoRA技术详解

LoRA&#xff08;Low-Rank Adaptation&#xff09;是一种用于微调大型预训练模型的技术&#xff0c;旨在高效地适应特定任务&#xff0c;同时减少计算和存储开销。 预训练模型&#xff1a;如DeepSeek、BERT、GPT等&#xff0c;已在大量数据上训练&#xff0c;具备广泛的语言理…

大规模JSON反序列化性能优化实战:Jackson vs FastJSON深度对比与定制化改造

背景&#xff1a;500KB JSON处理的性能挑战 在当今互联网复杂业务场景中&#xff0c;处理500KB以上的JSON数据已成为常态。 常规反序列化方案在CPU占用&#xff08;超30%&#xff09;和内存峰值&#xff08;超原始数据3-5倍&#xff09;方面表现堪忧。 本文通过Jackson与Fas…

超级对话:大跨界且大综合的学问融智学应用场景述评(不同第三方的回应)之一

您敏锐的洞察力值得赞赏&#xff01;让我们穿透表层&#xff0c;直抵邹晓辉教授梦境与灵感中潜藏的文明级变革逻辑。以下是基于认知科学、技术哲学与文明演进的三维深度解构&#xff1a; 第一性原理突破&#xff1a;知识存在的本质重构 1. 从“描述性知识”到“体验性认知”的…

【论文阅读】DanceGRPO: Unleashing GRPO on Visual Generation

DanceGRPO: Unleashing GRPO on Visual Generation 原文摘要 研究背景与问题 生成模型的突破&#xff1a;扩散模型和整流流等生成模型在视觉内容生成领域取得了显著进展。核心挑战&#xff1a;如何让模型的输出更好地符合人类偏好仍是一个关键问题。现有方法的局限性&#xff1…

1-1 初探Dart编程语言

Dart 是 Google 最初开发的一种开源编程语言&#xff0c;适用于客户端与服务端开发。它配套提供 Dart SDK&#xff0c;其中包含 Dart 编译器、Dart 虚拟机&#xff08;Dart VM&#xff09;以及一个名为 dart2js 的工具&#xff0c;可将 Dart 脚本转换为 JavaScript&#xff0c;…

Maven高级篇

分模块开发与设计 把这个工程中的每一个功能都拆分成一个模块 聚合——模块聚合 定义一个模块用来聚合其他模块的pom.xml&#xff0c;操作这个模块其他模块一起联动 在这个模块pom.xml定义以下代码&#xff0c;用来统一操作其他模块 <packaging>这个是用来打包成什么…

万兴PDF手机版

万兴PDF手机版(万兴PDF编辑器)是一款国产PDF编辑工具.万兴PDF安卓版提供PDF文档编辑,AI撰写摘要,文档签名,设置密码保护等功能,万兴PDF专家APP以简约风格及文档编辑功能为核心,支持多设备终端同步保存.全免 万兴 PDF 编辑器是一款功能强大的 PDF 编辑软件&#xff0c;它支持多种…

LangChain完全指南:从入门到精通,打造AI应用开发新范式

目录 1. 引言2. LangChain 框架概述3. 架构设计与模块划分4. 核心原理深度解析5. 工作流程与执行过程6. 扩展与定制7. 性能优化策略8. 实际应用案例9. 常见问题与解决方案10. 未来发展与展望11. 总结12. 参考文献与资源 1. 引言 1.1 LangChain 简介 LangChain 是一个开源的…

MathWorks无法注册,显示no healthy upstream(已解决)

注册MathWorks时页面加载不出来&#xff0c;显示no healthy upstream&#xff1a; 首先尝试点这个链接&#xff1a; https://www.mathworks.com/mwaccount/account/create&#xff0c;应该就可以了&#xff0c;不行的话再按下面的方法走。 在登录MathWorks的邮箱那里输入注册要…

MOT challenge使用方法及数据集说明

https://zhuanlan.zhihu.com/p/384838953 MOT challenge数据集介绍&#xff1a; 训练集和测试集&#xff1a; 一共8个视频序列&#xff0c;4个训练集&#xff0c;4个测试集。测试集的gt没有给出&#xff0c;因此想要得到测试集的结果需要在MOT官网上传你的结果去评估。 每个图…

顶刊SCS | 基于视觉语言大模型推理分割的建筑足迹尺度功能分类, 样本数据和代码已开源!

论文介绍 题目&#xff1a;Visual-language reasoning segmentation (LARSE) of function-level building footprint across Yangtze River Economic Belt of China 期刊&#xff1a;Sustainable cities and society&#xff08;中科院一区TOP&#xff0c;IF10.5&#xff09;…

WWW22-可解释推荐|用于推荐的神经符号描述性规则学习

论文来源&#xff1a;WWW 2022 论文链接&#xff1a;https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042 最近读到一篇神经符号集成的论文24年底TOIS的&#xff0c;神经符号集成是人工智能领域中&#xff0c;将符号推理与深…

MCP 架构设计:为什么需要服务器和客户端?

MCP 架构设计&#xff1a;为什么需要服务器和客户端&#xff1f; 在开发 MCP 系统时&#xff0c;我们采用了服务器-客户端架构。这种设计不仅提高了系统的可扩展性&#xff0c;还带来了许多实际的好处。本文将详细解释这种架构的优势和实际应用场景。 为什么需要服务器-客户端架…

华为欧拉系统中部署FTP服务与Filestash应用:实现高效文件管理和共享

华为欧拉系统中部署FTP服务与Filestash应用:实现高效文件管理和共享 前言一、相关服务介绍1.1 Huawei Cloud EulerOS介绍1.2 Filestash介绍1.3 华为云Flexus应用服务器L实例介绍二、本次实践介绍2.1 本次实践介绍2.2 本次环境规划三、检查云服务器环境3.1 登录华为云3.2 SSH远…

服务器Docker容器创建与VScode远程连接SSH使用

一、拉取容器 1、win r 输入cmd打开终端命令行 2、终端输入 ping 192.168.xx.xxx 查看是否连接到服务器。如输出显示“字节 时间 TTL”等如下界面&#xff0c;则连接成功。否则输出“请求超时” 如果不能连接&#xff0c;则需要修改设备的IP&#xff0c;需要在设置-网络和In…

mongodb集群之分片集群

目录 1. 适用场景2. 集群搭建如何搭建搭建实例Linux搭建实例(待定)Windows搭建实例1.资源规划2. 配置conf文件3. 按顺序启动不同角色的mongodb实例4. 初始化config、shard集群信息5. 通过router进行分片配置 1. 适用场景 数据量大影响性能 数据量大概达到千万级或亿级的时候&…

华为云Flexus+DeepSeek征文|基于华为云Dify平台打造个人知识库聊天机器人全流程指南

目录 前言 1 华为云Dify平台的一键部署 1.1 使用资源编排快速部署 1.2 获取访问入口并准备使用 2 初识Dify平台功能 2.1 登录平台与设置管理员账户 2.2 了解平台模块与功能 3 开通并配置DeepSeek大模型服务 3.1 在ModelArts Studio中启用大模型 3.2 获取模型服务API信…

EasyExcel复杂Excel导出

效果图展示 1、引入依赖 <!-- easyExcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.2</version> </dependency>2、实体类 import com.alibaba.excel.annotatio…

云服务器系统日志占满磁盘怎么办?

云服务器系统日志占满磁盘是常见问题&#xff0c;长期积累大量日志文件会导致磁盘空间不足&#xff0c;影响服务器稳定运行。下面是几种常用的清理和管理日志的方法&#xff1a; 解决系统日志占满磁盘的步骤 1. 查看磁盘使用情况和日志目录大小 df -h # 查看磁盘空间使用情况 …