웹 프론트엔드 CSS 튜토리얼 CSS3 플렉스 레이아웃 요약

CSS3 플렉스 레이아웃 요약

Feb 21, 2020 pm 05:49 PM
css3 flex 요약

CSS3 플렉스 레이아웃 요약

CSS3 플렉스 레이아웃 요약

2009년 W3C는 새로운 솔루션을 제안했습니다 --- -Flex 레이아웃 다양한 페이지 레이아웃을 간단하고 완전하며 반응적으로 구현할 수 있습니다. 현재는 모든 브라우저에서 지원됩니다.

Flex는 유연한 상자(Flexible Box)의 약어로 "탄력적인 레이아웃"을 의미하며 상자 모양 모델에 최대한의 유연성을 제공하는 데 사용됩니다. 모든 컨테이너를 Flex 레이아웃으로 지정할 수 있습니다.

(권장 학습: CSS 튜토리얼 )

인라인 요소는 Flex 레이아웃을 사용할 수도 있습니다.

.box{
  display: flex;
}
.box{
  display: inline-flex;
}
로그인 후 복사

Webkit 코어가 있는 브라우저는 -webkit 접두사를 추가해야 한다는 점에 유의해야 합니다.

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}
로그인 후 복사

또한 Flex 레이아웃으로 설정한 후에는 하위 요소의 부동, 투명 및 수직 정렬 속성이 유효하지 않게 됩니다.

플렉스 레이아웃에 일반적으로 사용되는 6가지 속성

  • flex-direction
  • flex-wrap#🎜 🎜## 🎜🎜#flex-flow
  • justify-content
  • align-items
  • align-content
  • #🎜🎜 #
  • 1.flex-direction
속성은 주축의 방향(즉, 항목의 배열 방향)을 결정합니다.

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}
로그인 후 복사
1、flex-direction属性决定主轴的方向(即项目的排列方向)。

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}
로그인 후 복사
  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。

2、<strong>flex-wrap</strong>属性定义,如果一条轴线排不下,如何换行。

.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}
로그인 후 복사
  • nowrap(默认):不换行。
  • wrap:换行,第一行在上方。
  • wrap-reverse:换行,第一行在下方。

3、<strong>flex-flow</strong>属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

-content: flex-start | flex-end | center | space-between | space-
로그인 후 복사

4、<strong>justify-content</strong>属性定义了项目在主轴上的对齐方式。

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}
로그인 후 복사
  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center: 居中
  • space-between:两端对齐,项目之间的间隔都相等。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5、<strong>align-items</strong>属性定义项目在交叉轴上如何对齐。

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
로그인 후 복사
  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline: 项目的第一行文字的基线对齐。
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

6、<strong>align-content</strong>属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

.item {
  order: <integer>;
}
로그인 후 복사

该属性可能取6个值。

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

还有以下6个属性设置在项目上。

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

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

.item {
  flex-grow: <number>; /* default 0 */}
로그인 후 복사

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

.item {
  flex-shrink: <number>; /* default 1 */}
로그인 후 복사

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

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

.item {
  flex-basis: <length> | auto; /* default auto */}
로그인 후 복사
로그인 후 복사

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrinkrow(기본값): 주축이 수평이고 시작점이 왼쪽 끝에 있습니다.

#🎜🎜#row-reverse: 주축이 수평이고 시작점이 오른쪽 끝에 있습니다. #🎜🎜##🎜🎜#column: 주축은 수직이고 시작점은 위쪽 가장자리에 있습니다. #🎜🎜##🎜🎜#column-reverse: 주축이 수직이고 시작점이 아래쪽 가장자리에 있습니다. #🎜🎜##🎜🎜##🎜🎜#2. #🎜🎜#flex-wrap#🎜🎜#속성 정의, 한 축을 정렬할 수 없는 경우 줄 바꿈 방법. #🎜🎜#
.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}
로그인 후 복사
로그인 후 복사
#🎜🎜##🎜🎜#nowrap(기본값): 줄 바꿈이 없습니다. #🎜🎜##🎜🎜#wrap: 줄 바꿈, 첫 번째 줄이 맨 위에 오도록 합니다. #🎜🎜##🎜🎜#wrap-reverse: 줄 바꿈, 첫 번째 줄은 아래에 있습니다. #🎜🎜##🎜🎜##🎜🎜#3, #🎜🎜#flex-flow#🎜🎜# 속성은 flex-direction 속성이고 flex -wrap 속성의 약어로, 기본값은 row nowrap입니다. #🎜🎜#
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
로그인 후 복사
로그인 후 복사
#🎜🎜#4. #🎜🎜#justify-content#🎜🎜#속성은 주축의 항목 정렬을 정의합니다. #🎜🎜#
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
로그인 후 복사
로그인 후 복사
#🎜🎜##🎜🎜#flex-start(기본값): 왼쪽 정렬 #🎜🎜##🎜🎜#flex-end: 오른쪽 정렬 #🎜🎜##🎜🎜#center: 가운데 #🎜 🎜 ##🎜🎜#space-between: 양쪽 끝을 정렬하고 항목 사이의 간격을 동일하게 만듭니다. #🎜🎜##🎜🎜#space-around: 각 항목이 양쪽에 동일한 간격으로 배치되어 있습니다. 따라서 항목 사이의 공간은 항목과 테두리 사이의 공간의 두 배입니다. #🎜🎜##🎜🎜##🎜🎜#5. #🎜🎜#align-items#🎜🎜#속성은 항목이 교차 축에 정렬되는 방식을 정의합니다. #🎜🎜#rrreee#🎜🎜##🎜🎜#flex-start: 교차축의 시작점을 정렬합니다. #🎜🎜##🎜🎜#flex-end: 교차축의 끝점 정렬입니다. #🎜🎜##🎜🎜#중앙: 교차축의 중간점을 정렬합니다. #🎜🎜##🎜🎜#baseline: 항목 텍스트 첫 줄의 기준선 정렬입니다. #🎜🎜##🎜🎜#stretch(기본값): 항목이 높이를 설정하지 않거나 자동으로 설정된 경우 컨테이너의 전체 높이를 차지합니다. #🎜🎜##🎜🎜##🎜🎜#6. #🎜🎜#align-content#🎜🎜#속성은 여러 축의 정렬을 정의합니다. 프로젝트에 축이 하나만 있는 경우 이 속성은 효과가 없습니다. #🎜🎜#rrreee#🎜🎜#이 속성은 6개의 값을 가질 수 있습니다. #🎜🎜##🎜🎜##🎜🎜#flex-start: 교차축의 시작점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#flex-end: 교차축의 끝점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#중앙: 교차축의 중간점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#space-between: 교차축의 양쪽 끝에 정렬되며, 축 사이의 간격이 균등하게 분포됩니다. #🎜🎜##🎜🎜#space-around: 각 축의 양쪽 간격이 동일합니다. 따라서 축 사이의 거리는 축과 프레임 사이의 거리의 두 배입니다. #🎜🎜##🎜🎜#stretch(기본값): 축이 전체 교차 축을 차지합니다. #🎜🎜##🎜🎜##🎜🎜# 프로젝트에는 다음과 같은 6가지 속성이 설정되어 있습니다. #🎜🎜##🎜🎜##🎜🎜#주문#🎜🎜##🎜🎜#flex-grow#🎜🎜##🎜🎜#flex -shrink#🎜🎜##🎜🎜#플렉스 기반#🎜🎜##🎜🎜#플렉스#🎜🎜##🎜🎜#align-self#🎜🎜##🎜🎜##🎜🎜# order 속성은 항목이 정렬되는 순서를 정의합니다. 값이 작을수록 순위가 높아집니다. 기본값은 0입니다. #🎜🎜##🎜🎜#rrreee#🎜🎜# flex-grow 속성은 항목의 확대 비율을 정의합니다. 기본값은 0입니다. 남은 공간이므로 확대되지 않습니다. #🎜🎜#rrreee#🎜🎜#모든 항목의 flex-grow 속성이 1인 경우 남은 공간(있는 경우)을 균등하게 나눕니다. 한 항목의 flex-grow 속성이 2이고 다른 항목이 1인 경우 전자는 다른 항목보다 남은 공간의 두 배를 차지합니다. #🎜🎜##🎜🎜# flex-shrink 속성은 항목의 축소 비율을 정의합니다. 즉, 공간이 부족하면 항목이 축소됩니다. #🎜🎜#rrreee#🎜🎜#모든 항목의 flex-shrink 속성이 1인 경우 공간이 부족할 경우 비례하여 모두 축소됩니다. 한 항목의 flex-shrink 속성이 0이고 다른 항목이 1인 경우 전자는 공간이 부족할 때 축소되지 않습니다. #🎜🎜#

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

.item {
  flex-basis: <length> | auto; /* default auto */}
로그인 후 복사
로그인 후 복사

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

.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}
로그인 후 복사
로그인 후 복사

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

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
로그인 후 복사
로그인 후 복사
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
로그인 후 복사
로그인 후 복사

위 내용은 CSS3 플렉스 레이아웃 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) 순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) Jun 28, 2022 pm 01:39 PM

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? 이 기사에서는 SVG 및 CSS 애니메이션을 사용하여 물결 효과를 만드는 방법을 소개합니다. 도움이 되길 바랍니다.

CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) Jul 19, 2022 am 11:28 AM

이 글에서는 CSS를 활용하여 자주 나타나는 다양한 모양의 버튼을 쉽게 구현하는 방법을 알려드리겠습니다. 도움이 되셨으면 좋겠습니다.

공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 Jun 01, 2022 pm 07:15 PM

두 가지 방법: 1. 표시 속성을 사용하여 요소에 "display:none;" 스타일을 추가합니다. 2. 요소를 숨기려면 위치 및 상단 속성을 사용하여 요소의 절대 위치를 설정하세요. 요소에 "position:absolute;top:-9999px;" 스타일을 추가하세요.

Linux 시스템에서 system() 함수의 사용법을 요약합니다. Linux 시스템에서 system() 함수의 사용법을 요약합니다. Feb 23, 2024 pm 06:45 PM

Linux에서의 system() 함수 요약 Linux 시스템에서 system() 함수는 명령줄 명령을 실행하는 데 사용할 수 있는 매우 일반적으로 사용되는 함수입니다. 이 기사에서는 system() 함수를 자세히 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. system() 함수의 기본 사용법은 다음과 같습니다. intsystem(constchar*command) 여기서 명령 매개변수는 문자입니다.

CSS3에서 레이스 테두리를 구현하는 방법 CSS3에서 레이스 테두리를 구현하는 방법 Sep 16, 2022 pm 07:11 PM

CSS에서는 border-image 속성을 사용하여 레이스 테두리를 만들 수 있습니다. border-image 속성은 이미지를 사용하여 테두리를 생성할 수 있습니다. 즉, 배경 이미지를 레이스 스타일로 지정하기만 하면 됩니다. "border-image: url(이미지 경로)은 이미지 테두리 너비가 안쪽으로 반복되는지 여부입니다.

텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! 텍스트 캐러셀과 이미지 캐러셀도 순수 CSS를 사용하여 구현할 수 있다는 것이 밝혀졌습니다! Jun 10, 2022 pm 01:00 PM

텍스트 회전판과 이미지 회전판을 만드는 방법은 무엇입니까? 누구나 가장 먼저 생각하는 것은 js를 사용할지 여부입니다. 실제로 순수 CSS를 사용하여 구현하는 방법도 모두에게 도움이 되기를 바랍니다.

CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 CSS3에서 마우스를 클릭하여 이미지를 확대하는 방법 Apr 25, 2022 pm 04:52 PM

구현 방법: 1. ":active" 선택기를 사용하여 그림에 대한 마우스 클릭 상태를 선택합니다. 2. 변환 속성과 scale() 함수를 사용하여 그림 확대 효과를 얻습니다. 구문은 "img:active {transform; : scale(x축 배율, y축 배율);}".

CSS Flex 및 그리드 레이아웃(코드 포함)을 사용하여 3D 주사위를 구현하는 방법을 단계별로 안내합니다. CSS Flex 및 그리드 레이아웃(코드 포함)을 사용하여 3D 주사위를 구현하는 방법을 단계별로 안내합니다. Sep 23, 2022 am 09:58 AM

프론트엔드 인터뷰에서 CSS를 사용하여 주사위/마작 레이아웃을 구현하는 방법에 대한 질문을 자주 받습니다. 다음 기사에서는 CSS를 사용하여 3D 주사위를 만드는 방법을 소개합니다(Flex 및 Grid 레이아웃은 3D 주사위를 구현함).

See all articles