前端Html5 (25)

1.超赞的flex

<style>

nav{

width: 1200px;

height: 100px;

background: pink;

margin:0 auto;

/* 设置弹性盒 */

display: flex;

text-align: center;

line-height: 100px;

}

section{

/* 项目的属性 flex:1;均分父元素宽度 */

flex: 1;

border-right: 1px solid #000;

background: springgreen;

}

</style>

</head>

<body>

<nav>

<section>全部商品</section>

<section>VIP服务</section>

<section>今日优品</section>

<section>三个字</section>

<section>还有五个字</section>

<section>当然啦六个字</section>

<section>商品</section>

</nav>

</body>

2.弹性盒容器的属性

<style>

.big{

width: 1000px;

height: 800px;

background: springgreen;

margin:0 auto;

/* 1、设置弹性盒 */

display: flex;

/* 2、更改主轴的方向 */

/* flex-direction: row; 默认值 可以理解为X轴 */

/* flex-direction: row-reverse; 主轴为水平反向 */

/* flex-direction: column; 将主轴方向设置为纵向 */

/* flex-direction: column-reverse; 将主轴方向设置为纵向反向 */

/* 3、项目是否折行 */

/* flex-wrap: nowrap;默认情况下 项目多的时候 我是不折行的 */

/* flex-wrap: wrap;折行 */

/* flex-wrap: wrap-reverse; 反向折行 */

/* 4、了解 复合属性 主轴的方向 与 项目是否折行的简写 */

/* flex-flow: column wrap; */

/* 5、项目在主轴上的分布 注意 设置给容器 是容器的属性 */

/* justify-content: flex-start; 默认值 主轴的开端 */

/* justify-content: center; 让项目整体居中于主轴 */

/* justify-content: flex-end; 让项目整体居于主轴末端 */

/* justify-content: space-around; 项目在主轴上两端环绕对齐 */

/* justify-content: space-between; 项目在主轴上两端顶格对齐 */

/* justify-content: space-evenly;项目在主轴上两端等距对齐 */

/* 6、项目在垂直交叉轴的分布情况 注意 设置给容器 是容器的属性 */

/* 假设 你现在没有给项目(子元素)设置高度 */

/* align-items: stretch;默认 值 项目没有设置高度 高度和容器一致 */

/* align-items: flex-start; 项目们居于垂直交叉轴上方 */

/* align-items: center; 项目们居中于垂直交叉轴 */

/* align-items: flex-end; 项目们居于垂直交叉轴末端 */

/* align-items: baseline; */

/* 7、多行项目在垂直交叉轴的排列方式 那你注意 首先 项目要多 其次 需要设置折行 */

flex-wrap: wrap;

/* align-content: stretch;默认值 项目没有设置高度 会均分容器高度 */

/* align-content: flex-start; 项目们都在垂直交叉轴上方 */

/* align-content: center;项目们都在垂直交叉轴中间 */

/* align-content: flex-end;项目都在垂直交叉轴末端 */

/* align-content: space-around;项目们在垂直交叉轴两端环绕 */

/* align-content: space-between;项目们在垂直交叉轴两端顶格对齐 */

/* align-content: space-evenly;等距对齐 */

}

section{

width: 100px;

height: 100px;

border:1px solid #000;

/* 我希望他依旧是100*100的 */

box-sizing: border-box;

background: cyan;

}

</style>

</head>

<body>

<div class="big">

<section style="line-height: 20px;">1</section>

<section style="line-height: 40px;">2</section>

<section style="line-height: 50px;">3</section>

<section style="line-height: 30px;">4</section>

<section style="line-height: 70px;">5</section>

<section>6</section>

<section>7</section>

<section>8</section>

<section>9</section>

<section>10</section>

<section>11</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

<section>12</section>

</div>

</body>

</html>

<!-- <div id="box">

<div class="small">

<div class="little"></div>

</div>

</div>

容器:你给谁设置了display:flex;那么谁就是容器 一般可以视为父元素(假设说 你给#box设置了 那么#box就是.small的容器)

项目:容器里面的子元素 称为“项目” (.small就是#box的项目) 当然了 项目也可以设置display:flex;(.small也可以设置display:flex;那么.little就是.small的项目)

主轴:是项目排列的方向 ,默认可以理解为是X轴 但是你可以更改主轴的方向


 

垂直交叉轴:就是和主轴成90度的轴 默认是Y轴 当然 如果你将主轴更改了 假设将主轴更改为Y轴 那么 此时垂直交叉轴就是X轴 -->

3.弹性盒项目的属性

<style>

.big{

width: 1000px;

height: 500px;

background: red;

margin:0 auto;

/* 设置弹性盒 */

display: flex;

}

span{

width: 100px;

height: 100px;

border:1px solid #000;

background:springgreen ;

}

span:nth-of-type(2){

/* 1、项目的排列顺序 order:auto;默认值 值越大越在后面 可以为负值 */

order: -1;

background: cyan;

/* 项目在垂直交叉轴的排列方向 */

/* align-self: stretch;默认值 不设置高度 高度和容器一致 */

/* align-self: flex-start;居于垂直交叉轴上方 */

/* align-self: center;居于垂直交叉轴中间 */

/* align-self: flex-end;居于垂直交叉轴末端 */

}

</style>

</head>

<body>

<div class="big">

<span>1</span>

<span>2</span>

<span>3</span>

<span>4</span>

<span>5</span>

<span>6</span>

</div>

</body>

4.多列布局

<style>

*{

margin: 0;

padding: 0;

}

main{

width: calc(100% - 200px);

height: auto;

background: linear-gradient(to right,#3ce,#fb6);

margin:0 auto;

/* 你想要几列 */

column-count: 5;

-webkit-column-count: 5;

-moz-column-count: 5;

-ms-column-count: 5;

-o-column-count: 5;

/* 列间距 */

column-gap: 20px;

/* 列分割线 */

column-rule: 2px dotted #0f0;

/* 列高自适应 */

column-fill:auto;

/* 注意 要么 设置列数 就是有几列 要么 就设置列宽 不可以两个一起使用 */

/* column-width: 600px; */

}

figure{

border:1px solid #000;

background: #FFF;

/* 注意 一定是给每一列小块设置 */

break-inside: avoid;

}

img{

/* 设置大小 只设置宽度 高度会等比例适应 */

width: 100%;

/* 就代表宽度和figure一致 */

}

h1{

column-span: all;

}

</style>

</head>

<body>

<main>

<h1>好好学习,不然就会像某某某同学一样,月薪只能刚刚过万</h1>

<figure>

<img src="../images/1.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/2.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/3.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/4.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/5.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/6.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/7.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/8.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/9.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/10.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/11.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/12.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/13.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/14.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/15.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/16.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/17.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/18.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/19.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/20.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/21.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/22.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/23.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/24.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/25.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/26.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/27.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/28.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/29.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/30.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/31.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/32.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/33.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/34.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/35.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/36.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/37.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/38.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/39.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/40.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/41.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/42.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/43.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/44.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/45.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/46.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/47.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/48.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>

<img src="../images/49.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

<figure>4

<img src="../images/50.jpg" alt="">

<figcaption>今天周一了,我们年前年后不允许请假</figcaption>

</figure>

</main>

</body>

5.复合属性flex都代表了什么

<style>

section{

width: 1000px;

height: 400px;

background: red;

margin:100px auto;

/* 设置弹性盒 */

display: flex;

}

span{

width: 200px;

height: 100px;

border: 2px solid #000;

background: pink;

/* flex:1里面的第一个属性 */

/* flex-shrink:1 ; 默认值 项目在超出容器宽度时 都统一缩小 */

flex-shrink: 0;

}

span:nth-of-type(3n){

background: cyan;

flex-shrink: 1;

}

b{

width: 100px;

height: 100px;

background: pink;

border:1px solid #000;

/* flex:1里面的第二个属性 放大 */

/* flex-grow: 0;默认值 都不主动进行放大 */

flex-grow: 0;

}

b:nth-of-type(3){

flex-grow: 1;

}

b:nth-of-type(2){

flex-grow:3;

}

/* flex:1的第三个属性 设置剩余空间 */

mark{

width: 100px;

height: 100px;

border:1px solid #000;

}

mark:nth-of-type(3){

flex-basis: 300px;

flex-basis: 50%;

}

</style>

</head>

<body>

<section>

<span>第一个属性</span>

<span>第一个属性</span>

<span>第一个属性</span>

<span>第一个属性</span>

<span>第一个属性</span>

<span>第一个属性</span>

</section>

<section>

<b>第二个属性</b>

<b>第二个属性</b>

<b>第二个属性</b>

</section>

<section>

<mark>第三个属性</mark>

<mark>第三个属性</mark>

<mark>第三个属性</mark>

<mark>第三个属性</mark>

</section>

</body>

6.媒体查询

<style>

div{

width: 100%;

height: 200px;

}

/* 注意 and前后有空格 */

/* 媒体查询 @media */

@media screen and (min-width:1200px){

div{

background: cyan;

}

}

/* ----------------700~1200---- */

@media screen and (max-width:1200px) and (min-width:700px){

div{

background: red;

}

}

/* ---------------------700以下------ */

@media screen and (max-width:700px){

div{

background: purple;

}

}

</style>

</head>

<body>

<div></div>

</body>

7.骰子布局

<style>

div{

width: 200px;

height: 300px;

background: #DDD;

border-radius: 10px;

margin:50px auto;

box-shadow: 0px 0px 20px 3px #888;

/* 设置弹性盒 */

display: flex;

}

span{

width: 80px;

height: 80px;

border-radius: 50%;

background: red;

}

/* ----------------------------- */

/* 一筒 */

div:nth-of-type(1){

/* 项目在主轴上水平居中 */

justify-content: center;

/* 项目在垂直交叉轴居中 */

align-items: center;

}

/* 二筒 */

div:nth-of-type(2){

/* 更改主轴的方向 */

flex-direction: column;

/* 项目在垂直交叉轴居中 */

align-items: center;

/* 项目在主轴上两端环绕对齐 */

justify-content: space-around;

}

/* -------三筒----- */

div:nth-of-type(3){

/* 更改主轴的方向 */

flex-direction: column;

/* 项目在主轴上两端环绕对齐 */

justify-content: space-around;

}

div:nth-of-type(3) span:nth-of-type(2){

/* 单独在垂直交叉轴居中 */

align-self: center;

}

div:nth-of-type(3) span:last-of-type{

/* 单独在垂直交叉轴居中 */

align-self: flex-end;

}

/* -------四筒---- */

div:last-of-type{

/* 项目折行 */

flex-wrap: wrap;

justify-content: space-around;

/* 多行项目 在垂直交叉轴两端环绕 */

align-content: space-around;

}

</style>

</head>

<body>

<div>

<span></span>

</div>

<div>

<span></span><span></span>

</div>

<div>

<span></span><span></span><span></span>

</div>

<div><span></span><span></span><span></span><span></span></div>

</body>

8.弹性盒

<style>

nav{

width: 1200px;

height: 100px;

line-height: 100px;

text-align: center;

background: pink;

margin:0 auto;

display: flex;

}

section{

border-right: 1px solid #000;

flex: 1;

}

</style>

</head>

<body>

<nav>

<section>全部商品</section>

<section>全商品</section>

<section>商品</section>

<section>全部的商品</section>

<section>全商品</section>

<section>全部商品</section>

<section>全部商品</section>

</nav>

</body>

9.响应式

<style>

/* -----------------这里写的 就是全局状态下 -------- */

*{

margin: 0;

padding: 0;

}

nav{

width: 100%;/* 设置占一行宽度 */

padding:0 10%;/* 设置内容距离左右有个间距 */

box-sizing: border-box;/* 因为设置padding会长胖 还希望是100% 就设置了怪异盒模型 */

height: 60px;/* 设置高度 */

background: #444;/* 设置背景色 */

line-height: 60px;/* 设置行高=高度值 文字垂直居中 */

/* 使用弹性盒子 */

display: flex;/* 设置弹性盒子 让头部左右两个块 横向展示 */

/* 项目(头部左右)两端顶格对其 */

justify-content: space-between;

/* 文字大小和颜色可以继承 直接设置给nav */

font-size: 12px;

color:#ccc;

}

section{

padding:0 10px;/* 让每个文字左右有间距 */

}

.left section:first-of-type{

font-size: 18px;/* 左边第一个文字字体大 */

}

.left{

/* 设置弹性盒子 */

display: flex;/* 目的是让左边的7个section横向展示 */

}

aside{

display: flex;/* 右侧设置弹性盒子 */

align-items: center;/* 让项目水平居中 其实就是为了让图片垂直居中 */

}img{

display: none;/* 图片默认不显示 */

}

/* 开始媒体查询 页面宽度到1000的时候 左侧第一个和右侧第一个消失 */

@media screen and (max-width:1000px) and (min-width:700px){

/* 这个时候咋的了 左边第一个和右边第一个没啦 */

section:first-of-type{

display: none;

}

}

/* -------700以下的时候 左边只剩下第一个section 右边呢 出现一张图片 剩下其他的都没啦*/

@media screen and (max-width:700px){

section{/* 所有的section都消失 */

display: none;

}

.left section:first-of-type{

display: block;/* 左边第一个section是出现的 我们再设置一下 让人家出现 */

}

img{

display: block;/* 右边的图片显示 */

}

}

</style>https://www.bootcss.com/

</head>

<body>

<nav>

<!-- 头部左侧 -->

<div class="left">

<section>Bootstrap中文网</section>

<section>Bootstrap3中文文档</section>

<section>Bootstrap4中文文档</section>

<section>Sass 教程</section>

<section>Less 教程</section>

<section>jQuery API</section>

<section>网站实例</section>

</div>

<!-- 头部右侧 -->

<aside>

<section>关于</section>

<img src="../images/4.png" alt="">

</aside>

</nav>

</body>

10.移动端的概念

</head>

<body>

手机尺寸------手机的斜对角线

物理像素:是我们的电脑/手机一出厂 就固定死的

逻辑像素(虚拟像素):就是我们写页面使用的px 也就是说 你的设计图 使用的是逻辑像素

dpr:就是物理像素与逻辑像素之比 (设计图宽度/设备宽度)

</body>

</html>

以前 UI小姐姐 1:1出的设计图 你320px的屏幕 我就给你出320px的设计图

乔布斯 在iphone4 提出了一个概念 retina屏幕 ???? 视网膜可视化屏幕

ui小姐姐 就开始设计多倍图了 一般都是两倍图 也就是说 你320px的屏幕 我就给你出640px的设计图

你375px的屏幕 我就给你出750px的设计图

11.均匀分成五份

<style>

main{

width: 1275px;

height: auto;

background:palevioletred url(../images/a.png);

margin:0 auto;

column-count: 5;

}

.small{

width: 200px;

height: 300px;

border:1px solid #000;

margin-bottom: 20px;

background: pink;

}

</style>

</head>

<body>

<main>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

<div class="small"></div>

</main>

</body>

12.怪异盒模型

<style>

div{

width: 300px;

height: 300px;

padding:100px;

border:10px solid #000;

background: cyan;

margin:100px;

/* 我希望 我的盒子像button一样懂事 但凡设置了宽高 那么无论再怎么设置padding border我都是之前的宽高 */

/* 怪异盒模型 */

/* box-sizing: content-box; 默认值 标准盒模型 你设置的width从内容区算 */

box-sizing: border-box;

}

</style>

</head>

<body>

<div></div>

</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值