Web前端105天-day14-BOOT

news/2024/11/9 10:07:28/

day14-boot第二天

目录

前言

一、工具类

1. 边框border

2. display显示

3.浮动

4.定位

5.flex布局

6.文本

二、布局 栅格系统 Grid

1.行和列

2.栅格布局中的间距

3.响应式栅格布局

总结


前言

boot第二天学习


一、工具类

1. 边框border

  • 文档地址:Borders · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 边框样式
    • border 边框的基础类,默认四个方向各有1px的边框
  • 单方向边框
    • border-top 上边框
    • border-end 右边框
    • border-bottom 下边框
    • border-start 左边框
  • 边框的宽度
    • border-{number} 0~5 0是去掉边框 1~5对应1px~5px的边框宽度
  • 边框的颜色
    • border-{color} 颜色是用的是boot提供的颜色

  • 边框圆角
    • rounded 边框圆角的基础类,四个方向都有圆角
    • rounded-circle 圆形  
    • rounded-pill 胶囊型
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>边框测试</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script><style>.zdy-box {width: 100px;height: 100px;background-color: lightyellow;margin-bottom: 10px;}.zdy-pill {width: 200px;height: 50px;background-color: #0f0;margin-bottom: 20px;}</style></head><body><div class="container"><!-- 1.四个方向都有边框 --><div class="zdy-box border"></div><!-- 2.1添加单方向的边框:上边框 --><div class="zdy-box border-top"></div><!-- 2.2添加单方向的边框:右边框 --><div class="zdy-box border-end"></div><!-- 2.3添加单方向的边框:下边框 --><div class="zdy-box border-bottom"></div><!-- 2.4添加单方向的边框:左边框 --><div class="zdy-box border-start"></div><!-- 3.加四个方向的边框 边框宽度5px 颜色为绿色 --><div class="zdy-box border border-5 border-success"></div><!-- 4.实现胶囊形 --><div class="zdy-pill rounded-pill"></div><!-- 5.实现圆形 --><div class="zdy-box bg-primary rounded-circle"></div><!-- 6.添加默认的边框圆角,四个角都是圆角,比较小 --><div class="zdy-box bg-warning rounded"></div></div></body>
</html>

2. display显示

  • 文档地址:display 属性 · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 使用display属性,可以改变元素的显示模式
    • .d-none 表示元素消失
    • .d-block 表示元素以块级形式显示
    • .d-inline 表示元素以行内形式显示
    • .d-inline-block 表示元素以行内块形式显示
    • .d-flex 表示元素以弹性形式显示
  • 显示方式都有响应式的写法,如.d-{类中缀}-{显示模式}
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>测试显示模式</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script></head><body><div class="container d-flex"><div class="w-75 vh-100 bg-danger flex-grow-1"></div><!-- 当lg及以上时,右侧蓝色块显示,以下右侧蓝色块消失 --><!-- 当右侧区域消失,左侧区域占满容器的所有剩余空间 --><div class="w-25 vh-100 bg-primary d-none d-lg-block"></div></div></body>
</html>

3.浮动

  • 文档地址:Float · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • .float-start 左浮动
  • .float-end 右浮动
  • .float-none 不浮动
  • 浮动也可以响应式 .float-{类中缀}-{浮动方式}
  • 清除浮动
    • .clearfix 专门用于清除父元素高度坍塌问题的,要写在父元素中

    • 文档地址:清除浮动(Clearfix) · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>浮动测试</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script><style>.zdy-h {height: 200px;}</style></head><body><!-- 需求:左右两侧的子级块小红小绿各占父级宽度的1/4 利用浮动实现如下效果且:小绿要在md以下消失--><div class="container bg-dark clearfix"><div class="zdy-h w-25 bg-danger float-start"></div><div class="zdy-h w-25 bg-success float-end d-none d-md-block"></div></div></body>
</html>

4.定位

  • 文档地址:Position · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 定位方式:

    • position-relative 相对定位

    • position-absolute 绝对定位

    • position-fixed 固定定位

    • 注意:boot5版本新增了定位方向,5版本以前是没有定位方向,因此5以前版本定位需要自己写

  • 位移方向:
    • top-{number} 对于顶部的位移,数值支持0 50 100,对应0% 50% 100%
    • bottom-{number} 对于底部的位移,数值支持0 50 100,对应0% 50% 100%
    • start-{number} 对于左侧的位移,数值支持0 50 100,对应0% 50% 100%
    • end-{number} 对于右侧的位移,数值支持0 50 100,对应0% 50% 100%
  • 中心位置位移
    • .translate-middle 使用位移,X轴Y轴居中
    • 底层源码:transform: translate(-50%, -50%) !important;
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>定位练习</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script><style>.fu {width: 600px;height: 450px;background-color: yellow;}.zi {width: 100px;height: 60px;background-color: red;}</style></head><body><div class="container"><div class="fu position-relative"><div class="zi position-absolute top-50 start-50 translate-middle"></div></div></div></body>
</html>

5.flex布局

  • 文档地址:Flex · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • flex主轴排序:
    • 行模式 flex-row 和 flex-row-reverse

    • 列模式 flex-column 和 flex-column-reverse

    • 还可以写成响应式flex-{类中缀}-{排序方式}

  • 主轴的对齐方式:
    • .justify-content-start 起点对齐

    • .justify-content-end 终点对齐

    • .justify-content-center 居中对齐

    • .justify-content-between 两端对齐

    • .justify-content-around 环绕对齐

    • .justify-content-evenly 公平对齐

    • 还可以写成响应式.justify-content-{断点}-{对齐方式}

  • 项目的交叉轴对齐方式:
    • .align-items-start 交叉轴起点对齐

    • .align-items-end 交叉轴终点对齐

    • .align-items-center 交叉轴居中对齐

    • 还可以写成响应式.align-items-{断点}-{对齐方式}

  • 项目的增长与收缩:
    • .flex-grow-0 项目不可放大

    • .flex-shrink-0 项目不可收缩

    • .flex-grow-1 项目允许放大

    • .flex-shrink-1 项目允许收缩

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>弹性布局练习</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script></head><body><!-- 需求:针对于弹性盒中项目的排列方式进行响应式布局xl及以上两端对齐lg居中对齐md终点对齐md以下起点对齐--><div class="container bg-warning d-flex justify-content-xl-between justify-content-lg-center justify-content-md-end justify-content-start"><!-- 给所有的子元素div设置最大的垂直方向的内间距,将元素撑高 --><div class="text-white w-25 py-5 bg-primary">第1个div</div><div class="text-white w-25 py-5 bg-danger">第2个div</div><div class="text-white w-25 py-5 bg-success">第3个div</div></div></body>
</html>

6.文本

  • 文档地址:Text · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
  • 文本对齐方式
    • 注意:这个对齐方式是写给外层的块级父元素的

    • .text-start 文本、内联左对齐

    • .text-end 文本、内联右对齐

    • .text-center 文本、内联居中对齐

    • 响应式写法: .text-{断点}-{对齐方式}

  • 字体
    • fw-bold 加粗体

    • fw-normal 正常体

    • fw-light 细体

    • fst-italic 斜体

  • 文本的修饰线
    • text-decoration-line-through 删除线

    • text-decoration-underline 下划线

    • text-decoration-none 去除所有修饰线

  • 组件小知识按钮与按钮组
    • 文档地址:Button group · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网
    • .btn 按钮的基类

    • .btn-{color} 按钮的颜色

    • .btn-outline-{color} 带轮廓线的按钮

    • .btn-lg 大号尺寸的按钮

    • .btn-sm 小号尺寸的按钮

    • 按钮组,一个外层的div包裹着需要的几个按钮,给这个外层div加.btn-group即可

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>文本相关练习</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script><style>/* a { 这个方案不可以text-decoration: underline;} *//* .zdy-a { 这个可以,内部样式,且内部样式在下面会覆盖上面的外部样式引入text-decoration: underline !important;} *//* 这个方案也可以因为是类选择器+标签名选择器,而BOOT源码只有一个类选择器,优先级高 */.container a {text-decoration: underline !important;}</style></head><body><div class="container"><div class="fw-bold">加粗文字</div><div class="fw-light">细体文字</div><div class="fw-normal">普通文字</div><div class="fst-italic">斜体文字</div><div class="text-decoration-line-through">我想要删除线</div><a href="#" class="text-decoration-none zdy-a">我不想要下划线</a></div></body>
</html>

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>按钮练习</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script></head><body><div class="container"><button class="btn btn-primary">按钮</button><button class="btn btn-success">按钮</button><button class="btn btn-outline-danger">带轮廓线的按钮</button><button class="btn btn-warning btn-lg">大号的按钮</button><button class="btn btn-warning btn-sm">小号的按钮</button><!-- 按钮组,一个外层div包裹着需要的几个按钮 --><div class="btn-group"><button class="btn btn-outline-success">编辑</button><button class="btn btn-outline-danger">删除</button></div></div></body>
</html>

二、布局 栅格系统 Grid

文档地址:Grid system · Bootstrap v5 中文文档 v5.1 | Bootstrap 中文网

1.行和列

  • 父子布局,父元素包裹子元素,父元素使用.row(行),子元素是父元素的列,使用.col-{number}
  • 一行可以分成12列,每列所占的份额是.col-1
  • 一行最多可以容纳12列,如果超出12列,那最后一个元素会自动换行
  • 我们可以通过调整栅格布局中每列所占的份数,来改变布局的分配,如:一行四列
<div class=”row”>
<div class=”col-3”>本块要占3个份额,也就是3/12</div><div class=”col-3”>本块要占3个份额,也就是3/12</div><div class=”col-3”>本块要占3个份额,也就是3/12</div><div class=”col-3”>本块要占3个份额,也就是3/12</div>
</div>
  • 栅格布局的底层其实就是flexbox,也就是说,我们在使用栅格的同时,也可以使用flex的相关属性
  • .row就相当于是父容器,.col-{number}就相当于是子项目

2.栅格布局中的间距

  • 栅格布局中的列已经把所有空间分配完毕,如果我想让元素之间有间距,该怎么写?
  • 虽然在栅格布局中,我们没有办法之间给元素加外间距,但是我们可以利用”天沟”
  • 我们可以给元素外层嵌套一个div,利用这个div的左右12px的天沟充当里层元素的外间距
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>栅格布局练习grid</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css"/><link rel="stylesheet" href="../css/bootstrap-icons.css"/><script src="../js/bootstrap.bundle.js"></script><style>.zdy-h {height: 100px;}</style></head><body><div class="container"><!-- row指的是准备被分配的父容器,也叫作行 --><div class="row bg-info"><!--高度需要自定义100px,宽度占父元素12列中的1份,颜色蓝色 --><div class="zdy-h col-1 bg-primary"></div><div class="zdy-h col-2 bg-danger"></div><div class="zdy-h col-3 bg-success"></div><div class="zdy-h col-4 bg-warning"></div><!-- 如果写2份,正好一行。但如果超出了12份,最后一个子元素会掉到下一行 --><div class="zdy-h col-2 bg-dark"></div></div><div class="row"><div class="bg-warning zdy-h col-3"></div><div class="bg-dark zdy-h col-3"></div><div class="bg-success zdy-h col-3"></div><div class="bg-primary zdy-h col-3"></div></div><div class="row"><div class="col-3"><div class="zdy-h bg-info"></div></div><div class="col-3"><div class="zdy-h bg-secondary"></div></div><div class="col-3"><div class="zdy-h bg-warning"></div></div><div class="col-3"><div class="zdy-h bg-danger"></div></div></div></div></body>
</html>

3.响应式栅格布局

  • 栅格系统最大的作用就是能够帮我们实现响应式的布局
  • 比如商品卡片的展示,会随着.container容器的大小变化而改变布局形式
  • 比如lg时一行显示4组,md时一行显示3组,sm时一行显示2组,以下情况显示1组

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>shoplist响应式栅格布局</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="../css/bootstrap.css" /><link rel="stylesheet" href="../css/bootstrap-icons.css" /><script src="../js/bootstrap.bundle.js"></script><style type="text/css">/*一会删掉,给元素加了图和文字后就撑高了 .zdy-h {height: 100px;}*//* 5.自定义一个类,如果文字过长变省略号 *//* 注意:起这个类名之前需要先到源码中搜一下防止重名,重名就得换别的 */.text-overflow {white-space: nowrap; /* 强制不换行 */overflow: hidden; /* 溢出隐藏 */text-overflow: ellipsis; /* 溢出部分用省略号代替 */}</style></head><body><!-- container相当于我们之前写的版心如果写大案例,为了区分功能块,需要给版心也就是container的外面再套一层 易错点!!!container作为版心套在了shoplist里面!!!--><div class="shoplist"><div class="container"><div class="row"><!-- 设计:lg以上一行4个组,md一行3个组,sm一行2个组,sm以下一行1个组 --><!-- 写一列,再复制多列 --><!-- <div class="col-3"></div> 不能这么写,不然什么情况下都占3列--><!-- 列的响应式写法:要加类中缀,后面在加数字 --><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><!-- 颜色要给里面的嵌套元素,外层天沟要作为元素间的距离,没有颜色 --><!-- <div class="zdy-h bg-info"></div> 1.要写内容了,自定义高就不需要了--><!-- 2.商品卡背景颜色是白色 边框是默认的四个边浅灰色 --><div class="bg-white border"><!-- 3.图片要变块,否则会有幽灵存在,图片宽度是撑满整个父级的 --><img src="../img/shoplist/shop1.jpg" class="d-block w-100"><!-- 4.超链接变块,去下划线,字体颜色变深色省略号boot没有需要自己写类text-overflow p-2加四个方向的内间距--><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">戴尔(DELL)MS116 鼠标有线 商务办公经典对称 有线鼠标</a><!-- 5.使用h4的样式,并且有左侧内间距ps-2 --><p class="h4 ps-2">¥ 19.90</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop2.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">华为笔记本电脑MateBook D 14 SE版 14英寸 11代酷睿 i5</a><p class="h4 ps-2">¥ 3899.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop3.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">雷柏(Rapoo) V500PRO 机械键盘 有线键盘 游戏键盘 104键混光键盘</a><p class="h4 ps-2">¥ 109.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop4.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">先马(SAMA)平头哥M1电竞版 Mini小机箱 支持MATX主板240水冷</a><p class="h4 ps-2">¥ 179.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop5.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">英特尔i5 10400F/10600KF i511400F</a><p class="h4 ps-2">¥ 1299.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop6.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">金士顿(Kingston)32GB USB3.2 Gen 1 U盘 DTX</a><p class="h4 ps-2">¥ 27.90</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop7.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">罗技(Logitech)C270高清网络摄像头 网课 摄像头家用 视频通话 带麦克风台式机电脑摄像头</a><p class="h4 ps-2">¥119.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop8.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">微软 Xbox Elite 无线控制器2代 二代精英手柄 无线手柄 蓝牙手柄 自定义设置/按键 Type C接口</a><p class="h4 ps-2">¥ 1398.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop9.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">佳能(Canon)MG3080无线家用彩色喷墨多功能一体机</a><p class="h4 ps-2">¥ 459.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop10.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">尼康(Nikon)D3500数码单反相机 入门级高清数码家用旅游照相机</a><p class="h4 ps-2">¥ 4899.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop11.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">康佳KKTV 21.5英寸 电脑显示器 家用办公屏幕便携全高清液晶监控显示屏外接K22Y</a><p class="h4 ps-2">¥ 479.00</p></div></div><div class="col-lg-3 col-md-4 col-sm-6 col-12 mb-3"><div class="bg-white border"><img src="../img/shoplist/shop12.jpg" class="d-block w-100"><a href="#" class="d-block text-decoration-none text-dark text-overflow p-2">高漫1060pro 数位板可连接手机手绘板电脑绘画板手写板写字板电子绘图板</a><p class="h4 ps-2">¥ 138.00</p></div></div></div>	</div></div></body>
</html>

 

 


总结

第14天学习完成


http://www.ppmy.cn/news/147123.html

相关文章

为什么像Photoshop这种如此复杂难懂的软件,可以垄断图像编辑领域20年?

作者&#xff1a;兰阇图片故事 对初学者来说&#xff0c;Photoshop确实是一款复杂的软件&#xff0c;如果想精通它&#xff0c;需要了解图像处理的方方面面&#xff0c;还要了解一点物理光学、数字信号处理、计算机图形学、色度学等学习起来有一定门槛的学科。每个工具都需要仔…

2008年度品牌评比及销售、市场占有率排名

2008年度品牌评比及销售、市场占有率排名 中国IT十大品牌评选方法&#xff1a;评选数据来源于ITC Q1-Q3 72城市100大电脑城销售数据监控得到的市场占有率指标以及105万消费者调研投票结果。其中&#xff0c;市场占有率指标占60%&#xff0c;百万消费者票选系数占40%&#xff…

通则ZLT X21 CPE使用指南

目录 设备介绍应用场景案例详细配置CPE基本配置网络实现DMZ方式实现网络互通IP Passthrough方式实现网络互通 注意事项 设备介绍 ZLT X21 是一款高性能5G室内CPE&#xff0c;支持NR(SA&NSA)、TDD-LTE、FDD-LTE&#xff0c;将蜂窝网络数据转换为WIFI和有线网口数据&#xf…

数码相机做摄像头_如何将数码相机用作网络摄像头

数码相机做摄像头 Many of the popular digital SLRs and mirrorless cameras released over the past few years now offer USB webcam support — you just need to install some extra software. We break down which manufacturers support the feature and which camera m…

计算机无法识别佳能5d2,新相机碉堡也不换 为什么我还在用5D2?

【PConline 点评】数码相机日新月异&#xff0c;如今已经是高像素的天下&#xff0c;不过笔者还在用佳能5D Mark II&#xff0c;简称5D2好了。这是一款2008年推出的产品&#xff0c;5D系列算是佳能产品线中的中坚力量&#xff0c;今天自然被新品秒成了渣&#xff0c;但我还在用…

单反新手购机的十六个问答-下

问题九、中关村、马连道&#xff0c;五棵松&#xff1f;还是淘宝&#xff1f; 答&#xff1a;中关村已经是恐怖地带了。马连道和五棵松正在变得恐怖。淘宝&#xff1f;&#xff01; 现在还敢去中关村买相机的兄弟真是明知山有虎、偏向虎山行。毕竟是中国高新科技产品的发祥地&a…

第一台单反的建议:新手购机的15个问答

文/黑水泛金波 问题一、套头是不是都很差&#xff1f; 答&#xff1a;不是。肯定不是。 事实上&#xff0c;厂家在决定用什么样的头来作为“套头”、跟机身组成“套机”一起销售的时候&#xff0c;的确就已经先考虑好了、用户最可能需要的镜头会是哪一个。这往往跟机身的“气质…

Vue学习2

文章目录 引入vue的分析render修改脚手架的默认配置修改步骤 refpropsmixin局部&#xff1a;全局总结 插件&#xff08;install&#xff09;总结 scoped案例总结浏览器本地存储保存读取删除清空 组件自定义事件绑定传递数据的两种方式解绑坑this使用原生的总结 全局事件总线消息…