赞
踩
目录
屏幕分辨率:纵横向上的像素点数,单位是px
pc分辨率:1920*1080.........
缩放150%——1920/150%
总结:硬件分辨率——物理分辨率(出厂设置)
缩放调节的分辨率——逻辑分辨率(软件/驱动设置)
手机屏幕尺寸不同, 网页宽度均为100%
网页宽度和逻辑分辨率尺寸相同
视口:显示html网页的区域,用来约束html尺寸等于逻辑分辨率
width=device-width:视口宽度=设备宽度
initial-scale=1.0:缩放1倍(不缩放)
设计稿里每个元素的尺寸的倍数。
作用:防止图片在高分辨率屏幕下模糊失真
宽度适配:宽度自适应
1.百分比布局/流式布局
2.flex布局
等比适配:宽高等比缩放
1.rem
2.vw
当屏幕大小不同时,宽高实现等比例缩放。
rem单位,是相对单位
rem单位是相对于HTML标签的字号计算结果
1rem=1HTML字号大小
盒子尺寸为width=30*5,height=30*3
- <!DOCTYPE html>
- <style>
- * {
- margin: 0;
- padding: 0;
- }
-
- /* 1. 给HTML标签加字号 */
- html {
- font-size: 30px;
- }
-
- /* 2. 使用rem单位书写尺寸 */
- .box {
- width: 5rem;
- height: 3rem;
- background-color: pink;
- }
- </style>
- </head>
-
- <body>
- <div class="box"></div>
- </body>
- </html>
能够检测视口的宽度,然后编写差异化的css样式
当某个条件成立,执行对应的css样式
@media (媒体特性) { 选择器 { css属性 } }
- <!DOCTYPE html>
- <style>
- /* 视口宽度是375,网页背景色是绿色 */
- @media (width:375px) {
- body {
- background-color: green;
- }
- }
- </style>
- </head>
- <body>
-
- </body>
- </html>
不同的视口条件下,设置HTML标签字号时,把网页分成10份,html标签的字号为视口宽度的1/10
- <!DOCTYPE html>
- <style>
- * {
- margin: 0;
- padding: 0;
- }
-
- 1. 使用媒体查询,给不同视口的屏幕设置不同的HTML字号
- @media (width:320px) {
- html {
- font-size: 32px;
- }
- }
- @media (width:375px) {
- html {
- font-size: 37.5px;
- }
- }
- @media (width:414px) {
- html {
- font-size: 41.4px;
- }
- }
-
- 2. 使用rem单位书写尺寸
- .box {
- width: 5rem;
- height: 3rem;
- background-color: pink;
- }
- </style>
- </head>
-
- <body>
- <div class="box"></div>
-
- <script src="./js/flexible.js"></script>
- </body>
- </html>
flexible.js时手淘开发的一个用来适配移动端的js库
核心原理就是根据不同的视口宽度给网页中的html根节点设置不同的font-size
使用时要先引入
rem单位尺寸
1.确定基准根字号
查看设计稿宽度——确定参考设备宽度(视口宽度)——确定基准根字号(1/10视口宽度)
2.rem单位尺寸=px单位数值/基准根字号
less是一个css预处理器,less文件后缀是.less。扩充了css语言,使css具备一定的逻辑性,计算能力。
注意:浏览器不识别less代码,目前阶段,网页要引入对应的css文件
vscode插件:easy less,保存less文件后自动生成对应的css文件
单行注释:
语法://注释内容
快捷键:ctrl+/
块注释:
语法:/*注释内容*/
快捷键:shift+alt+a
加减乘直接书写计算表达式
除法需要添加小括号或.
- .box {
- width: 100 + 20px;
- width: 100 - 80px;
- width: 100 * 2px;
-
- // 除法 / → (计算表达式) 或 ./ → 推荐()
- width: (68 / 37.5rem);
- width: 29 ./ 37.5rem;
-
- // 如果表达式有多个单位,最终css里面以第一个单位为准
- height: (29px / 37.5rem);
- }
作用:快速生成后代选择器
.父选择器{ //父级样式 .子选择器 { //子级样式 } }
.father { color: red; .son { width: 200px; a { color: green; // & 表示的是当前选择器,代码写到谁的大括号里面就表示谁 → 不会生成后代选择器 // 应用:配合hover伪类或nth-child结构伪类使用 &:hover { color: blue; } } // a:hover { // color: orange; // } } }
概念:容器,存储数据
作用:存储数据,方便使用和修改
语法:
定义变量:@变量名:数据;
使用变量:css属性:@变量名;
- // 1. 定义变量
- @myColor: green;
-
- // 2. 使用变量
- div {
- color: @myColor;
- }
-
- p {
- background-color: @myColor;
- }
-
- a {
- color: @myColor;
- }
作用:导入less公共样式文件,可以使最终只引入一个less文件。
语法:导入:@import “文件路径” ;
提示:如果是less文件可以省略后缀
- @import "./less-体验.less";
- @import "./less-注释";
写法:在less文件的第一行添加//out:存储url
提示:文件夹名称后面添加/
- //out: ./index.css
-
- //out: ./css/
- 表示导出到css文件夹中
写法:在less文件中第一行添加://out:false
作用:如果把一些less文件导入到其他less文件中,最终只需要导出一个less文件,不需要导出的就需要禁止导出
这是主页的html文件,其他的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="./iconfont/iconfont.css">
- <link rel="stylesheet" href="./css/index.css">
- </head>
- <body>
- <!-- 头部 -->
- <header>
- <a href="#" class="back"><span class="iconfont icon-left"></span></a>
- <h3>极速问诊</h3>
- <a href="#" class="note">问诊记录</a>
- </header>
-
- <!-- banner -->
- <div class="banner">
- <img src="./assets/entry.png" alt="">
- <p><span>20s</span> 快速匹配专业医生</p>
- </div>
-
- <!-- 问诊类型 -->
- <div class="type">
- <ul>
- <li>
- <a href="#">
- <div class="pic">
- <img src="./assets/type01.png" alt="">
- </div>
- <div class="txt">
- <h4>三甲图文问诊</h4>
- <p>三甲主治及以上级别医生</p>
- </div>
- <span class="iconfont icon-right"></span>
- </a>
- </li>
- <li>
- <a href="#">
- <div class="pic">
- <img src="./assets/type02.png" alt="">
- </div>
- <div class="txt">
- <h4>普通图文问诊</h4>
- <p>二甲主治及以上级别医生</p>
- </div>
- <span class="iconfont icon-right"></span>
- </a>
- </li>
- </ul>
- </div>
-
- <script src="./js/flexible.js"></script>
- </body>
- </html>
相对单位
相对视口的尺寸计算结果
vw:viewport width
1vw=1/100视口宽度
vh:viewport height
1vh=1/100视口宽度
注意:开发中,vw和vh不能混用
vh是1/100视口高度,全面屏视口高度尺寸大,如果混用可能导致盒子变形
媒体特性:
max-width:最大宽度
min-width:最小宽度
- <!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>
- <style>
- /* 屏幕宽度小于等于768,网页背景色是粉色 → max-width */
- @media (max-width: 768px) {
- body {
- background-color: pink;
- }
- }
-
-
- /* 屏幕宽度大于等于1200,网页背景色是绿色 → min-width */
- @media (min-width:1200px) {
- body {
- background-color: green;
- }
- }
-
- </style>
- </head>
- <body>
-
- </body>
- </html>
min-width:从小到大
max-width:从大到小
顺序改变会导致后面书写的会层叠前面的
- <!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>
- /* 网页默认背景色是灰色 */
- body {
- background-color: #ccc;
- }
- /* 屏幕宽度 大于等于 768px,网页背景色是粉色 min */
- @media (min-width: 768px) {
- body {
- background-color: pink;
- }
- }
- /* 屏幕宽度 大于等于 992px,网页背景色是绿色 min */
- @media (min-width:992px) {
- body {
- background-color: green;
- }
- }
-
- /* 屏幕宽度 大于等于 1200px,网页背景色是 skyblue min */
- @media (min-width: 1200px) {
- body {
- background-color: skyblue;
- }
- }
- </style>
- </head>
- <body></body>
- </html>
中文官网:https://www.bootcss.com/
使用步骤:
1.下载:Bootstrap VS中国文档——进入中文文档——下载——下载bootstrap生产文件
2.使用步骤
<1>引入bootstrap CSS文件
<2>调用类名:container:响应式布局版心类
栅格化是指将整个网页的宽度分成12等份,每个盒子占用的对应的分数
例如:一行排4个盒子,则每个盒子占3份即可(12/4=3)
响应段点:
设置不同的版心尺寸:
常用布局类:
col-*-*:列(例如:col-xxl-3)
row:行
- <!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/css/bootstrap.min.css">
- </head>
- <body>
- <!--
- 视口宽度大于等于1200px,一行排4个盒子 → 3
- 视口宽度大于等于768px,一行排2个盒子
- 视口宽度大于等于576px,一行排1个盒子
- -->
- <!-- 版心 → row → 子级 -->
- <div class="container">
- <div class="row">
- <div class="col-xl-3 col-md-6 col-sm-12">1</div>
- <div class="col-xl-3 col-md-6 col-sm-12">2</div>
- <div class="col-xl-3 col-md-6 col-sm-12">3</div>
- <div class="col-xl-3 col-md-6 col-sm-12">4</div>
- </div>
- </div>
- </body>
- </html>
vs中使用col时会有代码提示
button类:
btn默认样式
btn-success:成功
btn-warning:警告
.........
按钮尺寸:btn-lg / btn-sm
表格类:
table:默认样式
table-striped:隔行变色
table-success:表格颜色
.......
- <!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/css/bootstrap.min.css">
- </head>
- <body>
- <table class="table table-striped table-hover">
- <tr class="table-success">
- <th>姓名</th>
- <th>年龄</th>
- <th>性别</th>
- </tr>
- <tr>
- <td>张三</td>
- <td>18</td>
- <td>男</td>
- </tr>
- <tr>
- <td>李四</td>
- <td>20</td>
- <td>女</td>
- </tr>
- <tr>
- <td>王五</td>
- <td>18</td>
- <td>男</td>
- </tr>
- <tr>
- <td>赵六</td>
- <td>20</td>
- <td>女</td>
- </tr>
- </table>
- </body>
- </html>
1.引入样式表
2.引入js文件
3.复制结构,修改内容
- <!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/css/bootstrap.min.css">
- <style>
- .bg-body-tertiary {
- background-color: pink !important;
- }
- </style>
- </head>
- <body>
- <!-- 导航 -->
- <nav class="navbar navbar-expand-lg bg-body-tertiary">
- <div class="container-fluid">
- <a class="navbar-brand" href="#">Navbar</a>
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="collapse navbar-collapse" id="navbarNav">
- <ul class="navbar-nav">
- <li class="nav-item">
- <a class="nav-link active" aria-current="page" href="#">首页</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">课程</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">课程资料</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">视频</a>
- </li>
- </ul>
- </div>
- </div>
- </nav>
-
- <!-- 轮播图 -->
- <div id="carouselExampleIndicators" class="carousel slide">
- <div class="carousel-indicators">
- <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
- <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
- <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
- <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="3" aria-label="Slide 4"></button>
- </div>
- <div class="carousel-inner">
- <div class="carousel-item active">
- <img src="./images/banner_1.jpg" class="d-block w-100" alt="...">
- </div>
- <div class="carousel-item">
- <img src="./images/banner_2.jpg" class="d-block w-100" alt="...">
- </div>
- <div class="carousel-item">
- <img src="./images/banner_3.jpg" class="d-block w-100" alt="...">
- </div>
- <div class="carousel-item">
- <img src="./images/banner_4.jpg" class="d-block w-100" alt="...">
- </div>
- </div>
- <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
- <span class="carousel-control-prev-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Previous</span>
- </button>
- <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
- <span class="carousel-control-next-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Next</span>
- </button>
- </div>
-
- <script src="./Bootstrap/js/bootstrap.min.js"></script>
- </body>
- </html>
下载:
导航/extend:图标库-安装-下载安装包-bootstrap-icons-1.x.x.zip
使用:
复制fonts文件夹到项目目录
网页引入bootstrap-icons.css文件
调用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>字体图标</title>
- <link rel="stylesheet" href="./Bootstrap/font/bootstrap-icons.css">
- <style>
- .bi-android2 {
- font-size: 100px;
- color: green;
- }
- </style>
- </head>
- <body>
- <span class="bi-android2"></span>
- </body>
- </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。