1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式 Flex布局语法教

Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式 Flex布局语法教

时间:2021-12-12 00:38:31

相关推荐

Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式 Flex布局语法教

【Bootstrap4前端框架+MySQL数据库】前后端综合实训【10天课程 博客汇总表 详细笔记】

目 录

HTML中的三种元素(块元素、内联元素、内联块元素)

position定位的四种方式

固定导航在顶部:固定定位 --> position: fixed;

案例——粘性定位 position: sticky; top: 0px;

Flex 布局语法教程

一、Flex布局是什么?

二、基本概念

三、容器的属性

3.1 flex-direction属性

3.2 flex-wrap属性

3.3 flex-flow

3.4 justify-content属性

3.5 align-items属性

3.6 align-content属性

四、项目的属性

4.1 order属性

4.2 flex-grow属性

4.3 flex-shrink属性

4.4 flex-basis属性

4.5 flex属性

4.6 align-self属性

flex布局案例

flex-direction、flex-wrap、justify-content、align-items、align-content属性

flex属性综合举例

双飞翼布局复习

前端技术

Bootstrap4教程

HTML中的三种元素(块元素、内联元素、内联块元素)

HTML中的三种元素

块元素:独占一行内联元素:(文本)不可设置宽高、共享一行内联块元素:图片,可以设置宽高、共享一行

display:

inlineblockinline-block

换行、table、空格:在HTML中会自动转换为空格。

position定位的四种方式

相对定位绝对定位固定定位:position: fixed;粘性定位:position: sticky; top: 0px;

固定导航在顶部:固定定位 --> position: fixed;

案例——粘性定位 position: sticky; top: 0px;

<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style type="text/css">body {margin: 0px;}nav {width: 100%;height: 40px;background-color: #5F9EA0;/* text-align: center;line-height: 40px; */position: sticky;top: 0px;display: flex; /*去掉a标签间的空格*/justify-content: center; /*去掉a标签间的空格*/}nav>a {display: inline-block;background-color: #b6c85b;width: 100px;display: flex;justify-content: center;align-items: center;border: 1px white solid;}nav>a:hover {background-color: #808080;}</style></head><body><h1>我是标题</h1><nav><a href="https//">百度</a><a href="https//">京东</a><a href="https//">淘宝</a><a href="https//">腾讯</a><a href="https//">拼多多</a></nav><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></body></html>

Flex 布局语法教程

网页布局(layout)是CSS的一个重点应用。

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。

,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

Flex布局已经成为布局的首选方案。本文介绍Flex布局的语法。

一、Flex布局是什么?

二、基本概念

采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。

容器存在两根轴:默认情况下水平方向为主轴(main axis);垂直方向为交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start(flex-start),结束位置叫做main end(flex-end);交叉轴的开始位置叫做cross start(flex-start),结束位置叫做cross end(flex-end)。

项目永远按照沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

三、容器的属性

以下6个属性设置在容器上,以下六个属性必须配合display:flex/ display:inline-flex。

flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content

3.1 flex-direction属性

flex-direction属性决定主轴的方向(即项目的排列方向),默认从左到右排列(主轴方向默认为row)。

.box {flex-direction: row | row-reverse | column | column-reverse;}

它可能有4个值。

row(默认值):主轴为水平方向,起点在左端。row-reverse:主轴为水平方向,起点在右端。column:主轴为垂直方向,起点在上沿。column-reverse:主轴为垂直方向,起点在下沿。

3.2 flex-wrap属性

默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。

.box{flex-wrap: nowrap | wrap | wrap-reverse;}

它可能取三个值。

(1)nowrap(默认):不换行。

(2)wrap:换行,第一行在上方。

(3)wrap-reverse:换行,第一行在下方。

3.3 flex-flow

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

.box {flex-flow: <flex-direction> <flex-wrap>;}

3.4 justify-content属性

justify-content属性定义了项目在主轴上的对齐方式。

.box {justify-content: flex-start | flex-end | center | space-between | space-around;}

它可能取5个值,具体对齐方式与轴的方向有关。下面假设主轴为从左到右。

flex-start(默认值):左对齐flex-end:右对齐center: 居中space-between:两端对齐,项目之间的间隔都相等。space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

3.5 align-items属性

align-items属性定义项目在交叉轴上如何对齐。(交叉轴)

.box {align-items: flex-start | flex-end | center | baseline | stretch;}

它可能取5个值。具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。

flex-start:交叉轴的起点对齐。flex-end:交叉轴的终点对齐。center:交叉轴的中点对齐。baseline: 项目的第一行文字的基线对齐。stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。(儿子元素不设置高度,儿子元素会被拉伸!)

3.6 align-content属性

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。(多轴使用情况:多轴-->单轴)

.box {align-content: flex-start | flex-end | center | space-between | space-around | stretch;}

该属性可能取6个值。

flex-start:与交叉轴的起点对齐。flex-end:与交叉轴的终点对齐。center:与交叉轴的中点对齐。space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch(默认值):轴线占满整个交叉轴。

四、项目的属性

以下6个属性设置在项目(子元素)上。

orderflex-growflex-shrinkflex-basisflexalign-self

4.1 order属性

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

.item {order: <integer>;}

4.2 flex-grow属性

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。(按比例占据剩余空间!)

.item {flex-grow: <number>; /* default 0 */}

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

4.3 flex-shrink属性

flex-shrink属性定义了项目的缩小比例,默认为1(不压缩),即如果空间不足,该项目将缩小。

.item {flex-shrink: <number>; /* default 1 */}

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。

负值对该属性无效。

4.4 flex-basis属性

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

.item {flex-basis: <length> | auto; /* default auto */}

它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间。

4.5 flex属性

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]}

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

4.6 align-self属性

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。(设置元素在交叉轴上的对齐方式!)

.item {align-self: auto | flex-start | flex-end | center | baseline | stretch;}

该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

flex布局案例

flex-direction、flex-wrap、justify-content、align-items、align-content属性

<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style type="text/css">body {margin: 0px;}.parent {height: 200px;background-color: #5F9EA0;display: flex;flex-direction: row;flex-wrap: wrap;justify-content: flex-start;/* align-items: center; */align-content: flex-end;}.children {height: 40px;width: 40px;border-radius: 50%;background-color: red;margin: 10px;text-align: center;line-height: 40px;}</style></head><body><div class="parent"><div class="children">1</div><div class="children">2</div><div class="children">3</div><div class="children">4</div><div class="children">5</div><div class="children">6</div><div class="children">7</div><div class="children">1</div><div class="children">2</div><div class="children">3</div><div class="children">4</div><div class="children">5</div><div class="children">6</div><div class="children">7</div><div class="children">1</div><div class="children">2</div><div class="children">3</div><div class="children">4</div><div class="children">5</div><div class="children">6</div><div class="children">7</div></div></body></html>

flex属性综合举例

<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style type="text/css">body {margin: 0px;}.parent {height: 200px;background-color: #5F9EA0;display: flex;flex-direction: row;/* flex-wrap: wrap; */justify-content: flex-start;/* align-items: center; *//* align-content: flex-end; *//* border: 3px red solid; */border-width: 3px;border-color: red;border-style: solid;}.children {height: 40px;width: 60px;border-radius: 50%;background-color: red;margin: 10px;text-align: center;line-height: 40px;flex-shrink: 0;}</style></head><body><div class="parent"><div class="children">1</div><div class="children" style="flex-grow: 1;">2</div><div class="children" style="flex-grow: 1;">3</div><div class="children" style="order: -1;">4</div><div class="children" style="flex-grow: 2;">5</div><div class="children">6</div><div class="children" style="order: -2;">7</div><div class="children">6</div><div class="children">6</div><div class="children" style="align-self: center;">10</div><div class="children">6</div><div class="children" style="flex-shrink: 1;">6</div><div class="children" style="flex-shrink: 2;">7</div></div></body></html>

双飞翼布局复习

<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style type="text/css">body {background-color: antiquewhite;margin: 0px;border: 1px red solid;min-height: 100vh;/*W3C盒子与IE盒子*/box-sizing: border-box;display: flex;flex-direction: column;}header,footer {height: 100px;background-color: #5F9EA0;}#main {flex-grow: 1;display: flex;align-items: stretch;}#left,#right {width: 100px;background-color: burlywood;flex-shrink: 0;}#content {flex-grow: 1;}</style></head><body><!--body默认的高度为内容高度,body的高度为视窗(浏览器窗口)的高度--><header>头部</header><div id="main"><div id="left">左侧</div><div id="content">【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。【环球网快讯】接近美东时间16日凌晨0时,美国现任总统特朗普发推称“我赢了大选”。</div><div id="right">右侧</div></div><footer>底部</footer></body></html>

前端技术

layuielementuiant-designecharts 数据可视化百度地图Docker虚拟技术

Bootstrap4教程

Bootstrap4——菜鸟教程(非常详细!!!)Bootstrap4——中文网Bootstrap4——GitHub

Bootstrap4:联网引用方式,网络加载!语法汇总提示库!

<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="bootstrap4/css/bootstrap.min.css"><!-- jQuery文件。务必在bootstrap.min.js 之前引入 --><script src="jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于弹窗、提示、下拉菜单,包含了 popper.min.js --><script src="js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="bootstrap4/js/bootstrap.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><body><div class="container"><h1 class="text-success">我是标题</h1><h1 class="text-danger">我是标题</h1><h1 class="text-primary">我是标题</h1><h1 class="text-info">我是标题</h1></div><hr><table class="table table-bordered table-striped table-hover"><thead><tr><th>学号</th><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody><tr><td>101</td><td>张三</td><td>20</td><td>男</td></tr><tr><td>101</td><td>张三</td><td>20</td><td>男</td></tr><tr><td>101</td><td>张三</td><td>20</td><td>男</td></tr><tr><td>101</td><td>张三</td><td>20</td><td>男</td></tr><tr><td>101</td><td>张三</td><td>20</td><td>男</td></tr></tbody></table></body></html>

底层基础决定上层建筑,加油加油~

Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式 Flex布局语法教程及案例(概念 容器属性 项目属性) 双飞翼布局复习 Bootstrap4教程】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。