一路繁花似锦绣前程
失败的越多,成功才越有价值

导航

 

一、html

1、文档声明与字符编码
* <!DOCTYPE html>:特殊且固定的文档声明标签
* <html lang="en">:搜索引擎优化和浏览器有帮助
    - lang:文件使用的语言。浏览器的翻译此页功能与此相关
* <meta charset="UTF-8">:
    - charset:浏览器解码文件的方式。开发者编码文件的方式应与其一致
2、常用语义标签
a、常用语义标签
* 文本标题
    - <h1></h1> ~ <h6></h6>
* 段落文本
    - <p></p>
* 换行
    - <br>
* 水平线
    - <hr>
* 加粗
    - <b></b>
    - <strong></strong>(推荐)
* 倾斜
    - <em></em>(推荐)
    - <i></i>
* 删除线
    - <s></s>
    - <del></del>(推荐)
* 下划线
    - <u></u>
* 下标
    - <sub></sub>
* 上标
    - <sup></sup>
b、hr标签
<!-- 标签的属性和值一样时,可省略赋值 -->
<hr color="red" width="300" align="left" noshade="noshade">
3、特殊符号
显示结果 描述 实体名称
< 小于号 &lt;
> 大于号 &gt;
  非间断空格 &nbsp;
em空格 &emsp;
© 版权所有 &copy;
® 注册商标 &reg;
商标 &trade;
4、常用标签
a、div和span标签
<!-- 没有具体含义,用来划分页面的区域,独占一行 -->
<div></div>
<!-- 没有实际意义,主要应用在对于文本独立修饰的时候,内容有多宽就占用多宽的空间距离 -->
<span></span>
b、ol-li有序列表
<!--
 - type:默认值1,可取值1、a、A、i、I
 - start:默认值1,列表开始值
 -->
<ol type="a" start="27">
    <li>黄婷婷</li>
    <li>孟美岐</li>
    <li>张婧仪</li>
</ol>
c、ul-li无序列表
<!--
 - type:
     disc:默认值,实心圆
     circle:空心圆
     square:实心方块
     none:空
 -->
<ul type="none">
    <li>黄婷婷</li>
    <li>孟美岐</li>
    <li>张婧仪</li>
</ul>
d、dl-dt-dd自定义列表
<dl>
    <dt>黄婷婷</dt>
    <dd>孟美岐</dd>
</dl>
e、img标签
<!--
 1、路径:
     - 相对路径:./、../
     - 斜杠路径:http://localhost:63342/
     - 绝对路径:file:///C:/
 -->
<img src="./gongping.png"
     title="鼠标悬停上去之后的提示信息"
     alt="图片不显示之后(加载失败)的提示信息"
     width="200px"
     height="200px">
f、a标签
<!--
 - target:
     _self:默认值
     _blank:新窗口打开
 -->
<a href="https://www.baidu.com" target="_self"></a>
g、table表格
<!--
 * table:
     - width:宽度(px、百分比)
     - height:高度
     - border:边框
     - bordercolor:边框颜色
     - bgcolor:背景颜色
     - align:水平对齐,可取值left、right、center
     - cellspacing:单元格与单元格之间的间距
     - cellpadding:单元格与内容之间的空隙
 * tr:
     - height:高度
     - bgcolor:背景颜色
     - align:水平对齐,可取值left、right、center
     - valign:垂直对齐,可取值top、middle、bottom
 * td:
     - width:宽度
     - height:高度
     - bgcolor:背景颜色
     - align:水平对齐,可取值left、right、center
     - valign:垂直对齐,可取值top、middle、bottom
     - colspan:合并列
     - rowspan:合并行
 -->
<table width="100%"
       height="200px"
       border="10"
       bordercolor="red"
       bgcolor="green"
       align="center"
       cellspacing="10"
       cellpadding="10">
    <tr height="200px"
        bgcolor="blue"
        align="left"
        valign="top">
        <th>姓名</th>
        <th>年龄</th>
        <th>地址</th>
    </tr>
    <tr>
        <td width="200px"
            height="200px"
            bgcolor="yellow"
            align="right"
            valign="bottom">黄婷婷
        </td>
        <td colspan="2" rowspan="2">18</td>
    </tr>
    <tr>
        <td>无锡</td>
    </tr>
</table>
h、form表单
<!--
 - method:可取值GET、POST
 -->
<form action="http://www.baidu.com" method="GET">
    用户名:<input type="text" name="username" placeholder="用户名"><br>
    密&emsp;码:<input type="password" name="password" placeholder="密码"><br>
    <button type="submit">提交</button>
    <input type="reset">
    <input type="button" value="注册">
</form>

二、css

1、样式表
<!--
 1、样式表分类
     - 外部样式表:@import、link
     - 内部样式表:style标签
     - 行内样式表:元素标签
 2、@import和link对比
     - @import:页面加载完毕,再加载样式表。
     - link:页面加载完毕,同时样式表也加载完毕。兼容性好。可以dom操作(推荐)
 -->
<style>@import url("./index.css");</style>
<link rel="stylesheet" href="./index.css">
2、选择器
<!--
 1、选择器分类
     - 通配符选择器:*
     - 标签选择器:div
     - class属性选择器:.box
     - id属性选择器:#app
     - 群组选择器:div,span
     - 后代选择器:div span
     - 子代选择器:div>span
     - 伪类选择器:span:hover
 -->
<div class="box" id="app">
    <span>这是一段中文</span>
</div>
3、选择器的权重
* 选择器的权重
    - 标签选择器:1
    - class属性选择器:10
    - id属性选择器:100
    - 包含选择器:选择器权重之和
    - 内联样式:1000
    - !important:10000
* 优先级
    - 权重不同:高权重选择器 > 低权重选择器
    - 权重相同:后面的样式 > 前面的样式
4、文本属性
属性 描述 说明
font-size 字体大小 浏览器默认16px
font-family 字体 字体中有空格,需加双引号。
字体以逗号分隔,按从左往右顺序解析,直到有字体
color 颜色 red
#ff0000
rgb(255,0,0)
font-weight 加粗 bolder
bold
normal
lighter
100-900
font-style 倾斜 italic:倾斜
oblique:更倾斜
normal
text-align 文本水平对齐 left
right
center
justify:两端对齐,多行起作用,英文效果明显
line-height 行高 line-height=height:文本垂直居中
text-indent 首行缩进 只对第一行起作用
letter-spacing 字间距 英文单词间距使用word-spacing属性
text-decoration 文本修饰 none
underline
overline
line-through
可多值同时设置
text-transform 文本变换 capitalize:英文首字母大写
uppercase
lowercase
none
font 文字简写 font: font-style? font-weight? font-size/line-height? font-family;
顺序固定
5、列表属性
属性 描述 说明
list-style-type 定义列表符合样式 disc
circle
square
none
list-style-image 将图片设置为列表符合样式 url("")
list-style-position 设置列表项标记的放置位置 outside:默认值
inside
list-style 简写 list-style: list-style-type? list-style-image? list-style-position?;
none:去除列表符号
6、背景属性
属性 描述 说明
background-color 背景颜色 red
#ff0000
rgb(255,0,0)
background-image 背景图片 url("")
background-repeat 背景图片的平铺 no-repeat
repeat
repeat-x
repeat-y
background-position 背景图片的定位 background-position: 水平位置 垂直位置;
background-attachment 背景图片的固定 scroll:随元素滚动
fixed:相对浏览器窗口固定(视觉差案例)
background 简写 background: background-color? background-image? background-repeat? background-position? background-attachment?;
未取值的会取默认值,要注意放后面会覆盖前面的值
background-size 背景图片的尺寸 px、百分比
cover:宽高比例不变,元素覆盖
contain:宽高比例不变,元素留白
7、浮动属性
  • float
* 可取值:left、right、none
* 作用:
    - 使文本围绕该元素显示
    - 竖排列变横排列
* 横排列原则(B元素的上一个元素是A元素,高于且最接近A元素的是C元素,最高元素是D元素,B是浮动的):
    - A不是浮动的,则B在A的下面
    - A也是浮动的,则B在A的后面,放不下则挤到下一行,
      挤到下一行的B顶部与A底部对齐,B左部与C右部对齐,放不下则挤到下一行
      挤到下一行的B顶部与D底部对齐
  • clear
* 可取值:left、right、both、none
* 清楚浮动原则:
    - float元素会脱离文档流,所以在父元素中不会占据高度
    - 清除浮动只改变元素自身的排列方式(换行,顶部与已排列最高元素的底部对齐)
* 浮动塌陷问题解决方式
    - 浮动元素后面补一个块元素设置clear: both;
    - overflow: hidden;bfc方式让浮动元素计算高度
8、盒子模型
  • padding
* padding取值方式
    - 一个值:上下左右
    - 两个值:上下 左右
    - 三个值:上 左右 下
    - 四个值:上 右 下 左
* 单一方向取值:padding-top、padding-right、padding-bottom、padding-left
* 背景会蔓延到内边距
  • border
属性 描述 说明
border-width 边框宽度 可以一个值、两个值、三个值、四个值
border-color 边框颜色 可以一个值、两个值、三个值、四个值
border-style 边框风格 可以一个值、两个值、三个值、四个值
可取值:solid、double、dashed、dotted
border 简写 border: border-width? border-color? border-style;
单一方向取值:border-top、border-right、border-bottom、border-left
背景会蔓延到边框
  • margin
* margin取值方式
    - 一个值:上下左右
    - 两个值:上下 左右
    - 三个值:上 左右 下
    - 四个值:上 右 下 左
* 单一方向取值:margin-top、margin-right、margin-bottom、margin-left
* 背景不会蔓延到外边距
* 支持取负值
* 水平居中:margin: 0 auto;
* 特性问题
    + 盒子是兄弟关系
        - 垂直方向:取相邻外边距最大值
        - 水平方向:取相邻外边距之和
    + 盒子是父子关系
        - 垂直方向:子盒子外边距会传递给父盒子。解决方式:
            ~ 父盒子:border: 1px solid transparent;
            ~ 父盒子或子盒子:float: left;
            ~ 父盒子:overflow: hidden;
        - 水平方向:子盒子外边距不会传递给父盒子
9、溢出属性
  • overflow
* 可取值:
    - visible:默认值,溢出显示
    - hidden:溢出隐藏
    - scroll:滚动
    - auto:溢出滚动
    - inherit:继承父元素
* Y轴溢出滚动,X轴溢出隐藏:overflow-y: auto;overflow-x: hidden;
  • white-space
* 可取值:
    - normal:默认值
    - nowrap:文本不换行,直到遇到<br>
    - pre:显示空格,显示回车,不自动换行(<pre></pre>:预格式化文本标签)
    - pre-wrap:显示空格,显示回车,自动换行
    - pre-line:不显示空格,显示回车,自动换行
    - inherit:
  • text-overflow
* 可取值:
    - clip:默认值
    - ellipsis:显示省略号
* 文本溢出显示省略号:width: ;overflow: hidden;white-space: nowrap;
  text-overflow: ellipsis;
10、元素显示类型
分类 特性 举例 display
块元素 纵向排列
可以设置宽高
p元素不可以作为块级元素的容器
div、p、ul-li、ol-li、dl-dt-dd、h1~h6 block、list-item
行内元素 横向排列
不可以设置宽高
盒子模型:左右支持,上下不支持
a、b、em、i、span、strong inline
行内块元素 横向排列
可以设置宽高
img、input inline-block
隐藏元素 不显示且脱离文档流 所有 none
11、定位
  • position
* 可取值:
    - static:默认值
    - absolute:绝对定位,脱离文档流。相对于定位的父元素位置,没有定位的父元素则相对于body元素位置
    - relative:相对定位。相对于自身的初始位置
    - fixed:固定定位,脱离文档流。相对于浏览器窗口位置
    - sticky:粘性定位。可以做吸顶效果
* 配合属性:
    - top:px、百分比
    - right:px、百分比
    - bottom:px、百分比
    - left:px、百分比
* 行内元素转块元素:
    - display: block;
    - float: left;
    - position: absolute;
  • z-index
* 兄弟元素层级优先级
    - 定位元素与未定位元素之间,z-index大于等于0,则定位元素层级高于未定位元素,否则反之
    - 定位元素与定位元素之间,z-index数值越大层级越高。z-index可取负值
    - 定位元素与定位元素之间,z-index数值相同,后面元素的层级高于前面元素
* 父子定位元素层级优先级
    - 子定位元素z-index小于0,则父定位元素层级高于子定位元素
12、属性补充
属性 描述 说明
outline 轮廓,复合属性 none:无轮廓
opacity 透明度 0~1

三、案例

1、锚点
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>锚点</title>
    <style type="text/css">
        html {
            /* 平滑方式滚动 */
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
        }

        .win {
            position: fixed;
            right: 0;
        }

        #a, #b, #c {
            height: 500px;
            width: 50%;
            color: white;
        }
    </style>
</head>
<body>
<div class="win">
    <div><a href="#a">黄婷婷</a></div>
    <div><a href="#b">孟美岐</a></div>
    <div><a href="#c">姜贞羽</a></div>
</div>
<div id="a" style="background: red;">黄婷婷</div>
<div id="b" style="background: green;">孟美岐</div>
<div id="c" style="background: blue;">姜贞羽</div>
</body>
</html>
2、精灵图
* 将多张照片合并成一张照片,利用background-position使背景图在元素中显示想要的部分
3、宽高自适应
* width: auto;相当于width: calc(100% - (外边距 + 边框 + 内边距));
* height: auto;表示高度由内容撑开
* 配合属性:
    - min-width
    - max-width
    - min-height
    - max-height
4、伪元素
  • 常用伪元素
* ::first-letter:第一个字母
* ::first-line:第一行
* ::before:容器前的内容
* ::after:容器后的内容
* 配合属性:
    - content: "" 或 url("");
* display: none;和visibility: hidden;对比
    - 前者脱离文档流,后者没有脱离文档流
  • 清楚浮动最优方案
浮动元素容器::after {
    content: "";
    clear: both;
    display: block;
}
5、窗口自适应
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>窗口自适应</title>
    <style type="text/css">
        html, body, #app {
            height: 100%;
        }

        body {
            margin: 0;
        }

        #app {
            overflow: auto;
        }
    </style>
</head>
<body>
<div id="app">
    <div style="height: 5000px;background: linear-gradient(to bottom,red,green)"></div>
</div>
</body>
</html>
6、两栏布局
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>两栏布局</title>
    <style type="text/css">
        html, body, #app {
            height: 100%;
        }

        body {
            margin: 0;
        }

        #app {
            overflow: auto;
        }
    </style>
    <!-- 方式一 -->
    <!--
    <style>
        .left {
            width: 200px;
            height: 100%;
            float: left;
            background: red;
        }

        .right {
            height: 100%;
            margin-left: 200px;
            background: green;
        }
    </style>-->
    <!-- 方式二 -->
    <style>
        .left {
            width: 200px;
            height: 100%;
            float: left;
            background: red;
        }

        .right {
            width: calc(100% - 200px);
            height: 100%;
            float: left;
            background: green;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="left"></div>
    <div class="right"></div>
</div>
</body>
</html>
7、三栏布局
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>两栏布局</title>
    <style type="text/css">
        html, body, #app {
            height: 100%;
        }

        body {
            margin: 0;
        }

        #app {
            overflow: auto;
        }
    </style>
    <!-- 方式一 -->
    <!--
    <style>
        .left {
            width: 200px;
            height: 100%;
            float: left;
            background: red;
        }

        .center {
            height: 100%;
            margin: 0 200px;
            background: green;
        }

        .right {
            width: 200px;
            height: 100%;
            float: right;
            background: blue;
        }
    </style>-->
    <!-- 方式二 -->
    <style>
        .left {
            width: 200px;
            height: 100%;
            float: left;
            background: red;
        }

        .center {
            width: calc(100% - 400px);
            height: 100%;
            float: left;
            background: green;
        }

        .right {
            width: 200px;
            height: 100%;
            float: right;
            background: blue;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center"></div>
</div>
</body>
</html>
8、圣杯布局
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>两栏布局</title>
    <style type="text/css">
        html, body, #app {
            height: 100%;
        }

        body {
            margin: 0;
        }

        #app {
            overflow: auto;
        }
    </style>
    <style>
        .top, .bottom {
            height: 50px;
            background: red;
        }

        .middle {
            height: calc(100% - 100px);
        }

        .left, .right {
            width: 200px;
            height: 100%;
            float: left;
            background: green;
        }

        .center {
            width: calc(100% - 400px);
            height: 100%;
            float: left;
            background: blue;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="top"></div>
    <div class="middle">
        <div class="left"></div>
        <div class="center"></div>
        <div class="right"></div>
    </div>
    <div class="bottom"></div>
</div>
</body>
</html>

四、表单

1、单选框
<form>
    <label><input type="radio" name="gener" checked> 女</label>
    <label><input type="radio" name="gener"> 男</label>
</form>
2、复选框
<form>
    <label><input type="checkbox" name="friends" checked> 黄婷婷</label>
    <label><input type="checkbox" name="friends"> 孟美岐</label>
    <label><input type="checkbox" name="friends"> 姜贞羽</label>
</form>
3、上传文件和隐藏字段
<form action="">
    <!-- 1、上传文件 -->
    <label>附件:<input type="file" name="file"></label><br>
    <!-- 4、只读 -->
    <label>姓名:<input type="text" name="name" readonly value="黄婷婷"></label><br>
    <!-- 3、隐藏表单 -->
    <input type="hidden" name="age" value="18">
    <!-- 2、图片提交按钮和禁用 -->
    <input type="image" disabled src="submit.jpg">
</form>
4、下拉菜单
<form>
    <!--
     1、select属性
         - size:显示的选项数
         - multiple:多选
     -->
    <select name="girls" size="3" multiple>
        <!--
         2、option属性
             - value:值
             - selected:默认选中
         -->
        <option value="黄婷婷" selected>黄婷婷</option>
        <option value="孟美岐" selected>孟美岐</option>
        <option value="鞠婧祎">鞠婧祎</option>
        <option value="张婧仪">张婧仪</option>
        <option value="姜贞羽">姜贞羽</option>
        <option value="佟丽娅">佟丽娅</option>
    </select>
</form>
5、文本域
<form>
    <!--
     * cols和rows针对的是英文字符,所以通常是设置css的width和height
     * placeholder:提示文本
     * textarea标签不要换行,否则默认值会有空格
     -->
    <textarea name="" cols="30" rows="10" placeholder="请输入你的理想">房子车子票子</textarea>
</form>
<style>
    textarea {
        width: 220px;
        height: 60px;
        /*
        resize属性:
            - none:无法调整元素尺寸
            - both:可调整元素的高度和宽度
            - horizontal:可调整元素的宽度
            - vertical:可调整元素的高度
        */
        resize: none;
    }
</style>
6、字段级
<fieldset>
    <legend>黄婷婷</legend>
</fieldset>

五、html5

1、新增语义化标签
* section:表示页面中的一个内容区块
* article:表示一块与上下文无关的独立的内容
* aside:在article之外的,与article内容相关的辅助信息
* header:表示页面中一个内容区块或整个页面的标题
* footer:表示页面中一个内容区块或整个页面的脚注
* nav:表示页面中导航链接部分
* figure:表示一段独立的流内容,使用figcaption元素为其添加标题(第一个或最后一个子元素的位置)
* main:表示页面中的主要的内容(ie不兼容)
2、音频标签
<!--
 - autoplay:自动播放
 - controls:控制台
 - loop:循环播放
 - muted:静音
 -->
<audio src="./horse.mp3" autoplay controls loop muted></audio>
3、视频标签
<!--
 - autoplay:自动播放
 - controls:控制台
 - loop:循环播放
 - muted:静音
 - poster:海报
 - width:宽度
 - height:高度
 -->
<video src="./movie.mp4" autoplay controls loop muted></video>
4、input
<form action="">
    <label>颜色选择:<input type="color" name="color"></label><br>
    <label>邮箱:<input type="email" name="email"></label><br>
    <!-- 完整地址 -->
    <label>url地址:<input type="url" name="url"></label><br>
    <!-- 移动端弹出数字按键 -->
    <label>电话号码:<input type="tel" name="tel"></label><br>
    <!-- step:步长 -->
    <label>滑块效果:<input type="range" name="range" value="50" min="0" max="100" step="10"></label><br>
    <label>数字类型:<input type="number" name="number" value="50" min="0" max="100" step="10"></label><br>
    <label>搜索:<input type="search" name="search"></label><br>

    <label>日期选择:<input type="date" name="date"></label><br>
    <label>月份选择:<input type="month" name="month"></label><br>
    <label>周数选择:<input type="week" name="week"></label><br>
    <label>本地时间:<input type="datetime-local" name="datetimeLocal"></label><br>
    <input type="submit">
</form>
5、数据列表
<form action="">
    <input type="text" list="person_list">
    <datalist id="person_list">
        <option value="黄婷婷" label="黄婷婷"></option>
        <option value="孟美岐" label="孟美岐"></option>
        <option value="姜贞羽" label="姜贞羽"></option>
    </datalist>
</form>
6、属性
<form action="">
    <!--
     - required:必填项
     - autofocus:自动获取焦点。当设有多个,则只有第一个生效
     - multiple:允许多个值,以英文逗号隔开
     - pattern:正则验证
     -->
    <label>用户名:<input type="text" name="username" required pattern="^\w+$" autofocus></label><br>
    <label>密&emsp;码:<input type="password" name="password" required></label><br>
    <label>亲&emsp;属:<input type="text" name="family" multiple></label><br>
    <input type="submit">
</form>

六、css3

1、层级选择器
* div>span:div子代span
* div+span:div后兄弟第一个span
* div~span:div后兄弟所有span
2、属性选择器
* div[class]:div,有class属性
* div[class="item"]:div,有class属性,且值为item
* div[class~="item"]:div,有class属性,且值(以空格隔开的词列表)中的一项是item
* div[class^="item"]:div,有class属性,且值以item开头
* div[class$="item"]:div,有class属性,且值以item结尾
* div[class*="item"]:div,有class属性,且值包含item字符串
3、结构伪类选择器
/* :root等价html */
:root {
    overflow: hidden;
}

/* #app子代第一个div */
#app > div:first-child {
}

/* #app子代最后一个div */
#app > div:last-child {
}

/* #app子代偶数位div(可取值:数字、偶数even或2n、奇数odd或2n+1) */
#app > div:nth-child(even) {
}

/* #app子代只有一个div */
#app > div:only-child {
}

/* #app子代没有内容的div(空格也算内容) */
#app > div:empty {
}
4、目标伪类选择器
<!-- 手风琴效果案例 -->
<div>
    <a href="#htt">黄婷婷</a>
    <div id="htt" class="content">黄婷婷</div>
</div>
<div>
    <a href="#mmq">孟美岐</a>
    <div id="mmq" class="content">孟美岐</div>
</div>
<div>
    <a href="#jzy">姜贞羽</a>
    <div id="jzy" class="content">姜贞羽</div>
</div>
<style>
    .content {
        display: none;
    }

    .content:target {
        display: block;
    }
</style>
5、ui状态伪类选择器
/* 可用状态的input */
input:enabled {
}

/* 禁用状态的input */
input:disabled {
}

/* 焦点状态的input */
input:focus {
}

input[type="checkbox"] {
    appearance: none; /* 去掉默认样式 */
    width: 16px;
    height: 16px;
    border: 1px solid black;
    border-radius: 4px;
}

/* 选中状态的input */
input:checked {
    background: green;
}

/* p选中状态的内容 */
p::selection {
}
6、否定和动态伪类选择器
/* 1、否定伪类选择器 */
/* #app子代有内容的div */
#app > div:not(:empty) {
}

/* 2、动态伪类选择器 */
/* 未访问过的a */
a:link {
}

/* 已访问过的a */
a:visited {
}

/* 激活状态的a */
a:active {
}

/* 鼠标悬停的a */
a:hover {
}
7、文本阴影
/* 
 1、X轴 Y轴 阴影程度 阴影颜色
 2、可设多个阴影
 */
p {
    text-shadow: 0 16px 1px red, 0 -16px 1px green;
}
8、盒子阴影
/*
 1、X轴 Y轴 模糊距离 阴影大小 阴影颜色 内阴影
 2、可设多个阴影
 */
div {
    box-shadow: 0 0 8px 0 black inset;
}
9、圆角边框
/*
 1、可取值:px、百分比
 2、取值方式:
     - 一个值:四个角
     - 两个值:左上右下 右上左下
     - 三个值:左上 右上左下 右下
     - 四个值:左上 右上 右下 左下
     - 水平/垂直:8px 8px 8px 8px/4px 4px 4px 4px
 3、单方向取值(不支持水平/垂直):
     - border-top-left-radius
     - border-top-right-radius
     - border-bottom-left-radius
     - border-bottom-right-radius
 4、圆:盒子(border+padding+content)的一半(50%)
 */
div {
    border-radius: 8px 8px 8px 8px;
}
10、字体引入
@font-face {
    font-family: LdcD;
    src: url("./LcdD.ttf");
}

.content {
    font-family: LdcD;
}
11、怪异盒模型
/*
 - content-box(标准盒模型):默认值,width = content
 - border-box(怪异盒模型):width = border + padding + content
 */
div {
    box-sizing: border-box;
}
12、弹性盒
  • 容器对齐方式
<div class="content">
    <div style="background: red"></div>
    <div style="background: orange"></div>
    <div style="background: yellow"></div>
    <div style="background: green"></div>
    <div style="background: blue"></div>
    <div style="background: indigo"></div>
    <div style="background: purple"></div>
</div>
<style>
    .content {
        width: 500px;
        height: 500px;
        border: 1px solid black;
        /*
         1、display: flex;影响:
             - 子元素默认从左往右排列
             - 行内元素会变成块级元素
             - 只有一个子元素的时候,子元素设置margin: auto;则水平垂直居中
         */
        display: flex;
        /*
         2、主轴方向:
             - row(默认值):从左往右
             - column:从上往下
             - row-reverse:从右往左
             - column-reverse:从下往上
         */
        flex-direction: row;
        /*
         3、主轴对齐方式:
             - flex-start:主轴开始位置对齐
             - flex-end:主轴结束位置对齐
             - center:中间位置对齐
             - space-between:两端对齐
             - space-around:距离环绕对齐
         */
        justify-content: center;
        /*
         4、侧轴对齐方式:
             - flex-start:侧轴开始位置对齐
             - flex-end:侧轴结束位置对齐
             - center:中间位置对齐
         */
        /* align-items: center; */
        /* 5、折行 */
        flex-wrap: wrap;
        /*
         6、控制折行后行间距:
             - flex-start:侧轴开始位置对齐
             - flex-end:侧轴结束位置对齐
             - center:中间位置对齐
             - space-between:两端对齐
             - space-around:距离环绕对齐
         */
        align-content: space-around;
        /* 
         7、复合属性:
             - flex-direction:主轴方向
             - flex-wrap:折行
         */
        /* flex-flow: row wrap; */
    }

    .content > div {
        width: 100px;
        height: 100px;
    }
</style>
  • 项目对齐方式
<div class="content">
    <div style="background: red"></div>
    <div style="background: orange"></div>
    <div style="background: yellow"></div>
</div>
<style>
    .content {
        width: 500px;
        height: 500px;
        border: 1px solid black;
        display: flex;
    }

    .content > div {
        width: 100px;
        height: 100px;
        /*
         1、align-self可取值:
             - flex-start:侧轴开始位置
             - flex-end:侧轴结束位置
             - center:侧轴中间位置
             - baseline:
             - stretch(默认值):拉伸,与width或height不能同时使用
         */
        /* align-self: stretch; */
        /*
         2、order:用于调整项目顺序。默认值0,可取负值。沿主轴方向从小到大排列
         */
        /* order: 0; */
        /*
         3、flex:简写。用于给项目分配空间
             - flex-grow flex-shrink flex-basis:扩展的量 收缩的量 项目的长度
             - auto:1 1 auto
             - none:0 0 auto
             - initial(默认值):0 1 auto
             - inherit:继承
         */
        flex: 1;
    }
</style>
posted on 2022-05-09 22:19  一路繁花似锦绣前程  阅读(42)  评论(0编辑  收藏  举报