第 29 章 CSS3 弹性伸缩布局[下] - 水之原
学习要点:
1.新版本
主讲教师:李炎恢
本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解。
一.新版本
新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,这个草案是由 W3C 推出的最新语法。这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现了统一。
首先,设置伸缩盒的 display 有如下两个属性值:
属性值 |
说明 |
flex |
将容器盒模型作为块级弹性伸缩盒显示(新版本) |
inline-flex |
将容器盒模型作为内联级弹性伸缩盒显示(新版本) |
//大部分不需要前缀
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> flex</span>; }
属性 |
IE |
Firefox |
Chrome |
Opera |
Safari |
带前缀 |
无 |
无 |
21 ~ 28 |
无 |
7.0 |
不带前缀 |
11+ |
20+ |
29+ |
12.1 |
无 |
从这张表可以看出,只有 webkit 引擎的浏览器 Chrome 和 Safari 的版本需要添加-webkit-,而 Chrome 浏览器 29 版本以后可以省略了。
1.flex-direction
flex-direction 属性和旧版本 box-orient 属性一样,都是设置伸缩项目的排列方式。
//设置从上往下排列
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> flex-direction</span>:<span style="color: #0000ff;"> column</span>; }
属性值 |
说明 |
row |
设置从左到右排列 |
row-reverse |
设置从右到左排列 |
column |
设置从上到下排列 |
column-reverse |
设置从下到上排列 |
2.flex-wrap
flex-wrap 属性类似与旧版本中的 box-lines,但是 box-lines 我们没有讲解,原因是没有浏览器支持它。
//设置无法容纳时,自动换行
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> -ms-flex-wrap</span>:<span style="color: #0000ff;"> wrap</span>; }
属性值 |
说明 |
nowrap |
默认值,都在一行或一列显示 |
wrap |
伸缩项目无法容纳时,自动换行 |
wrap-reverse |
伸缩项目无法容纳时,自动换行,方向和 wrap 相反 |
3.flex-flow
flex-flow 属性是集合了排列方向和控制换行的简写形式。
//简写形式
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> flex-flow</span>:<span style="color: #0000ff;"> row wrap</span>; }
4.justify-content
justify-content 属性和旧版本中的 box-pack 一样,设置伸缩项目的对其方式。
//按照中心点对齐
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> justify-content</span>:<span style="color: #0000ff;"> space-around</span>; }
属性值 |
说明 |
flex-start |
伸缩项目以起始点靠齐 |
flex-end |
伸缩项目以结束点靠齐 |
center |
伸缩项目以中心点靠齐 |
space-between |
伸缩项目平局分布 |
space-around |
同上,但两端保留一半的空间 |
5.align-items
align-items 属性和旧版本中的 box-align 一样,处理伸缩项目容器的额外空间。
//处理额外空间
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> align-itmes</span>:<span style="color: #0000ff;"> center</span>; }
属性值 |
说明 |
flex-start |
伸缩项目以顶部为基准,清理下部额外空间 |
flex-end |
伸缩项目以底部为基准,清理上部额外空间 |
center |
伸缩项目以中部为基准,平均清理上下部额外空间 |
baseline |
伸缩项目以基线为基准,清理额外的空间 |
stretch |
伸缩项目填充整个容器,默认 |
6.align-self
align-self 和 align-items 一样,都是清理额外空间,但它是单独设置某一个伸缩项目的。所有的值和 align-itmes 一致。
//单独设置清理额外空间
<span style="color: #800000;">p:nth-child(2) </span>{<span style="color: #ff0000;"> align-self</span>:<span style="color: #0000ff;"> center</span>; }
7.flex
flex 属性和旧版本中的 box-flex 类似,用来控制伸缩容器的比例分配。
//设置比例分配
<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 1</span>; }<span style="color: #800000;"> p:nth-child(2) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 3</span>; }<span style="color: #800000;"> p:nth-child(3) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 1</span>; }
8.order
order 属性和 box-ordinal-group 属性一样控制伸缩项目出现的顺序。
//设置伸缩项目顺序
<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 2</span>; }<span style="color: #800000;"> p:nth-child(2) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 3</span>; }<span style="color: #800000;"> p:nth-child(3) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 1</span>; }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...
