当前位置: 首页 > news >正文

企业管理培训课程讲座大全拟定网站优化方案

企业管理培训课程讲座大全,拟定网站优化方案,想学动漫制作可以上什么学校,全球网站访问量排名哈喽#xff0c;大家好呀#xff0c;我是前端理想哥#xff0c;今天我们来聊聊 flex 布局。 好#xff0c;主角登场。 CSS 弹性盒子模型( Flexible Box 或者 Flexbox ) 先来看看它的定义#xff1a;弹性布局是指通过调整其内元素的宽高#xff0c;从而在任何显示设备上…哈喽大家好呀我是前端理想哥今天我们来聊聊 flex 布局。 好主角登场。 CSS 弹性盒子模型( Flexible Box 或者 Flexbox ) 先来看看它的定义弹性布局是指通过调整其内元素的宽高从而在任何显示设备上实现对可用显示空间最佳填充的能力。弹性容器扩展其内元素来填充可用空间或将其收缩来避免溢出。 简单来说弹性盒子模型是为了你的网页可以在不同分辨率设备上自适应展示而生的一种布局方式。 弹性盒子布局主要适用于应用程序的组件及小规模的布局而新兴的栅格布局则针对大规模的布局。这二者都是 CSS 工作组为在不同用户代理、不同书写模式和其他灵活性要求下的网页应用程序有更好的互操作性而做出的更广泛的努力的一部分。 现在我们来看如何定义一个弹性盒子 div idmaindiv stylebackground-color:coral;A/divdiv stylebackground-color:lightblue;B/divdiv stylebackground-color:khaki;C/divdiv stylebackground-color:pink;D/divdiv stylebackground-color:lightgrey;E/divdiv stylebackground-color:lightgreen;F/div /div如果要将上面的 HTML 布局改为弹性盒子布局该怎么办 很简单 只需要设置如下 #main{display: flex }或者 #main{display: inline-flex }区别在于flex 会使弹性容器成为块级元素而 inline-flex 会使弹性容器成为单个不可分的行内级元素。 说到这里有人会问了弹性容器是什么东东 大家先来看一张图 对比这张图和上面的 html 代码大家可以看到 弹性容器(Flex container)指的就是包含着弹性项目的父元素即上面的 #main 弹性项目(Flex item)弹性容器的每个子元素都称为弹性项目弹性容器直接包含的文本将被包覆成匿名弹性单元。即上面的 #main div 大家再仔细观察上面的那张图图上有个主轴和侧轴这里又涉及到一个知识点轴(Axis) 每个弹性框布局都包含两个轴。弹性项目沿其依次排列的那根轴称为主轴(main axis)。垂直于主轴的那根轴称为侧轴(cross axis) 接下来我结合上面的 HTML 代码为大家讲解下怎么确定主轴和主轴上内容的显示 使用弹性容器的 flex-derection 可以确立主轴这个属性一共有 6 个值接下来我为大家一一展示 #main{display: flex;width: 200px;flex-direction:row; //默认值水平展示 }#main{display: flex;width: 200px;flex-direction:row-reverse; //与row相同但是以相反的顺序 }#main{display: flex;width: 200px;flex-direction:column; // 弹性项目将垂直展示 }#main{display: flex;width: 200px;flex-direction:column-reverse; // 与 column 相同但是以相反的顺序。 }还有两个属性简单介绍下就不用举例了 initial设置该属性为它的默认值 inherit从父元素继承该属性 确定了主轴之后那么在主轴上弹性项目怎么分布 我们来看一个新的属性 justify-content: 定义了在当前行上弹性项目沿主轴如何排布。 #main {display: flex;width: 400px;flex-direction: row;justify-content: flex-start; //默认值项目位于容器的开头 }#main{display: flex;width: 400px;flex-direction: row;justify-content: flex-end; // 项目位于容器的结尾 }#main{display: flex;width: 400px;flex-direction: row;justify-content: center; // 项目位于容器的中间 }#main{display: flex;width: 400px;flex-direction: row;justify-content: space-between; // 项目位于各行之间留有空白的容器内 }#main{display: flex;width: 400px;flex-direction: row;justify-content: space-around; // 项目位于各行之前、之间、之后都留有空白的容器内。 }还有两个属性简单介绍下就不用举例了 initial设置该属性为它的默认值 inherit从父元素继承该属性 确定了弹性项目在主轴上是怎么排布的接下来再介绍下在侧轴上是怎么排布的 #main{display: flex;height: 200px;align-items: stretch; // 默认值项目被拉伸以适应容器 }#main{display: flex;height: 200px;align-items: center; // 项目位于容器的中心 }#main{display: flex;height: 200px;align-items: flex-start; // 项目位于容器的开头 }#main{display: flex;height: 200px;align-items: flex-end; // 项目位于容器的结尾 }#main{display: flex;height: 200px;align-items: baseline; // 项目位于容器的基线上 }还有两个属性简单介绍下就不用举例了 initial设置该属性为它的默认值 inherit从父元素继承该属性 如果我只想改变单个弹性项目的对齐方式该怎么办 别怕align-self 属性来也 align-self定义了单个弹性项目在侧轴上应当如何对齐这个定义会覆盖由 align-items 所确立的默认值。 还是用这个 HTML 来展示 div idmaindiv classa stylebackground-color:coral;A/divdiv classb stylebackground-color:lightblue;B/divdiv classc stylebackground-color:khaki;C/divdiv classd stylebackground-color:pink;D/divdiv classe stylebackground-color:lightgrey;E/divdiv classf stylebackground-color:lightgreen;F/div /div#main{display: flex;height: 200px;align-items: center;background: red; }#main div{width: 40px; }#main .d{align-self: auto; //默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 stretch。 }#main .d{align-self: stretch; //元素被拉伸以适应容器 }#main .d{align-self: center; //元素位于容器的中心 }#main .d{align-self: flex-start; //元素位于容器的开头 }#main .d{align-self: flex-end; }//元素位于容器的结尾 #main .d{align-self: baseline; //元素位于容器的基线上 }还有两个属性简单介绍下就不用举例了 initial设置该属性为它的默认值 inherit从父元素继承该属性 说完了弹性项目的排布接下来我们回看最上面那张图再来说说怎么确定主轴/侧轴的方向 我们先来看一个属性 flex-wrap规定 flex 容器是单行或者多行同时横轴的方向决定了新行堆叠的方向。 #main{width: 200px;height: 200px;border: 1px solid #c3c3c3;display:flex;background: red;flex-wrap: nowrap; // 默认值规定灵活的项目不拆行或不拆列 }#main{width: 200px;height: 200px;border: 1px solid #c3c3c3;display:flex;background: red;flex-wrap: wrap; // 默认值规定灵活的项目在必要时拆行或拆列 }#main{width: 200px;height: 200px;border: 1px solid #c3c3c3;display:flex;background: red;flex-wrap: wrap-reverse; // 规定灵活的项目在必要的时候拆行或拆列但是以相反的顺序。 }还有两个属性简单介绍下就不用举例了 initial设置该属性为它的默认值 inherit从父元素继承该属性 order: 属性将元素与序号关联起来以此决定哪些元素先出现 div idmaindiv classa stylebackground-color:coral;A/divdiv classb stylebackground-color:lightblue;B/divdiv classc stylebackground-color:khaki;C/divdiv classd stylebackground-color:pink;D/divdiv classe stylebackground-color:lightgrey;E/divdiv classf stylebackground-color:lightgreen;F/div /div.a{order: 6;-webkit-order: 6; } .b{order: 5;-webkit-order: 5; } .c{order: 4;-webkit-order: 4; } .d{order: 3;-webkit-order: 3; } .e{order: 2;-webkit-order: 2; } .f{order: 1;-webkit-order: 1; }flex-flow是 flex-direction 和 flex-wrap 属性的简写决定弹性项目如何排布。 对于行(Line)中来说根据 flex-wrap 属性弹性项目可以排布在单个行或多个行中。此属性控制侧轴的方向和新行排列的方向 我们确定了弹性容器的主轴与侧轴弹性项目的宽和高怎么来确定对应的主轴尺寸和侧轴尺寸 (1) 可以使用 min-height 和 min-width 来确定这两个的初始值都是 0 (2) flex 属性是 flex-grow、flex-shrink 和 flex-basis 的简写描述弹性项目的整体伸缩性。 接下来我们逐一看看这三个新的属性 flex-grow: 用于设置或检索弹性盒的扩展比率 #main{width: 500px;height: 200px;border: 1px solid #c3c3c3;display:flex;background: red; }#main div{width: 40px; }.a{flex-grow: 2; } .b{flex-grow: 3; } .c{flex-grow: 1; } .d{flex-grow: 3; } .e{flex-grow: 2; } .f{flex-grow: 1; }flex-shrink: 指定了 flex 元素的收缩规则flex 元素仅在默认宽度之和大于容器时才会发生收缩其收缩的大小是依据 flex-shrink 的值 pdiv 总宽度为 500px, flex-basic 为 120px。/p pA, B, C 设置 flex-shrink:1。 D , E 设置为 flex-shrink:2/p pD , E 宽度与 A, B, C 不同/p div idcontentdiv classbox stylebackground-color:red;A/divdiv classbox stylebackground-color:lightblue;B/divdiv classbox stylebackground-color:yellow;C/divdiv classbox1 stylebackground-color:brown;D/divdiv classbox1 stylebackground-color:lightgreen;E/div /divflex-shrink 的默认值为 1如果没有显示定义该属性将会自动按照默认值 1 在所有因子相加之后计算比率来进行空间收缩。 本例中 A、B、C 显式定义了 flex-shrink 为 1D、E 定义了 flex-shrink 为 2所以计算出来总共将剩余空间分成了 7 份其中 A、B、C 占 1 份D、E 占 2 份即 1:1:1:2:2 我们可以看到父容器定义为 500px子项被定义为 120px子项相加之后即为 600 px超出父容器 100px。那么超出的 100px 需要被 A、B、C、D、E 消化 通过收缩因子,所以加权综合可得 1001100_1100_1100_2100_2700px 于是我们可以计算 A、B、C、D、E 将被移除的溢出量是多少 A 被移除溢出量(100_1/700)_100即约等于 14px B 被移除溢出量(100_1/700)_100即约等于 14px C 被移除溢出量(100_1/700)_100即约等于 14px D 被移除溢出量(100_2/700)_100即约等于 28px E 被移除溢出量(100_2/700)_100即约等于 28px 最后 A、B、C、D、E 的实际宽度分别为120-14106px, 120-14106px, 120-14106px, 120-2892px,120-2892px此外这个宽度是包含边框的。__ flex-basis用于设置或检索弹性盒伸缩基准值。 接下来说几个弹性盒子的相关属性 由于弹性盒子使用了不同的布局算法某些属性用在弹性容器上没有意义 多栏布局模块的 column-* 属性对弹性项目无效float 与 clear 对弹性项目无效。使用 float 将使元素的 display 属性记为 blockvertical-align 对弹性项目的对齐方式无效。 最后我们来看换一个例子 ​!DOCTYPE html html langenheadstyle.flex{/* 基本样式 */width: 350px;height: 200px;border: 1px solid #555;font: 14px Arial;/* 建立弹性框 */display: -webkit-flex;-webkit-flex-direction: row;display: flex;flex-direction: row;}.flex div{-webkit-flex: 1 1 auto;flex: 1 1 auto;width: 30px; /* 让过渡表现良好。从/到width:auto的过渡至少在 Gecko 和 Webkit 上是有 bug 的。更多信息参见 http://bugzil.la/731886 */-webkit-transition: width 0.7s ease-out;transition: width 0.7s ease-out;}/* colors */.flex div:nth-child(1){ background : #009246; }.flex div:nth-child(2){ background : #F1F2F1; }.flex div:nth-child(3){ background : #CE2B37; }.flex div:hover{width: 200px;}/style/headbodypFlexbox nuovo/pdiv classflexdivuno/divdivdue/divdivtre/div/div/body /html
http://www.pierceye.com/news/279771/

相关文章:

  • 免费做链接的网站做动画相册在哪个网站好
  • 做思维导图好看的网站可以做富集分析的网站
  • wordpress 媒体库 cos百度网站怎样优化排名
  • 自助建站程序html样式模板
  • 公主岭网站建设筑梦网站建设
  • 昊源建设监理有限公司网站广州住房与城乡建设部网站
  • 如何免费建立自己网站wordpress媒体优化
  • 南京企业做网站网站建设的类型有几种
  • 不需要证件做网站相城区建设网站
  • 游戏推广网站如何做的全网投放广告的渠道有哪些
  • 飞数石家庄网站建设seo 关键词优化
  • 织梦新手网站建设建筑工程公司资质
  • 网站建设开什么名目外贸网站建设关键点
  • 大学生网站设计河南省建筑工程信息网
  • 安徽省住房和城乡建设厅网站首页wordpress评论框中加文字提示
  • 南京营销型网站建设公司杭州模板建站代理
  • 网页设计比较优秀的网站沈阳网站推广公司
  • 西安网站建设维护如何免费制作app软件
  • 用 net做网站大理市城乡建设局网站
  • 怎么在建筑网站做翻译兼职哈尔滨 高端网站建设
  • 网站建设颜色注意事项优化网站要怎么做
  • 作图神器沧州网站优化
  • 做水果的网站有哪些公司网页设计作品
  • 电子商务网站运营流程北京app制作
  • 怎么在百度推广自己的网站市级部门网站建设自评报告
  • 德州做网站优化专门做酒的网站
  • 旅游网站建设案例分析北京seo案例
  • 网站建设公司 优势单页网站对攻击的好处
  • 网站域名更换济南代做标书网站标志
  • 网站开发实用技术答案外国出名的设计网站