CSS3의 Flexbox 레이아웃을 위한 그래픽 및 텍스트 코드 공유
CSS3는 확장 가능하고 유연한 웹페이지 레이아웃 방식을 제공합니다. Flexbox 레이아웃은 매우 강력한 기능을 갖고 있으며 등장하기 전에는 여러 가지 복잡한 레이아웃을 쉽게 구현할 수 있습니다. 🎜>부동 또는 고정 너비 + 레이아웃의 백분율로, 많은 양의 코드가 필요하고 이해하기 어렵습니다.
플렉스박스 레이아웃을 더 잘 이해하기 위해 먼저 소개할 몇 가지 개념은 다음과 같습니다.(4) 텔레스코픽 컨테이너: 확장 가능한 상자, 이러한 확장 가능한 항목은 flex의 속성
상자로 포장되어야 합니다. (5) 확장 가능한 항목: 확장 가능한 레이아웃이 필요한 플렉스 컨테이너에 포함된 요소를 플렉스 항목이라고 합니다.위의 개념을 명확히 한 후 플렉스박스 레이아웃을 구축할 수 있습니다. 첫 번째 단계는 플렉스박스 컨테이너를 구축하는 것입니다. 다음과 같이 확장 가능한 여러 항목을 컨테이너에 배치합니다.
css 코드:.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; }.flex-item{ background-color:blue; width: 100px; margin: 5px; }
<p class="flex-container"> <p class="flex-item ">A</p> <p class="flex-item ">B</p> <p class="flex-item ">A</p> <p class="flex-item ">B</p> </p>
4개의 확장 가능한 항목이 가로 방향으로 일렬로 배열되고, 확장 가능한 항목이 왼쪽으로 정렬됩니다.
display: flex가 이를 나타냅니다. 컨테이너 확장 가능한 컨테이너이며 inline-flex의 값을 사용할 수도 있습니다. 둘의 차이점은 전자는 컨테이너를 블록 수준 요소로 렌더링하고 후자는 인라인 요소 <로 렌더링한다는 것입니다. 🎜>.
여기에는 설정되지 않은 여러 기본 속성이 있지만 기본값은 다음과 같습니다.
flex-direction attribute 의 경우 해당 값은 row, column, column-reverse, row-reverse 입니다. 기본값은 row 이며, 이는 확장 가능한 항목을 가로 방향으로 확장한다는 의미입니다. 열-역방향, 행-역방향은 반대 방향을 나타냅니다. 일반 용어로
flex-direction 속성은 주축과 측면축의 방향을 정의하는 데 사용됩니다.위 효과에 flex-direction을 추가합니다. 열 효과는 다음과 같습니다.
justify-content 속성은 확장 가능함을 나타내는 데 사용됩니다. 항목이 기본 축 방향에 있습니다. 축의 정렬 방법은 flex-start, flex-end, center, space-between, space-around 값을 사용할 수 있습니다. 여기서 flex-start, flex-end는 기준 정렬을 의미합니다. 중심은 중심축의 시작점과 끝점을 의미하며, 공간-사이는 양 끝을 정렬하여 남은 공간을 주축 방향으로 균등하게 분배하는 것을 의미하며, 공간-어라운드는 중심 정렬 후 나머지 공간을 균등하게 분배하는 것을 의미합니다. 주축 방향
justify-content:space-betweencss 코드:
.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; justify-content: space-between; }.flex-item{ background-color:blue; width: 100px; margin: 5px; }
효과는 다음과 같습니다:
각 확장 가능한 항목을 주축 방향으로 정렬하고 나머지 공간을 균등하게 나누는 것을 볼 수 있습니다. justify-content:space-around CSS 코드:.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; justify-content: space-around; }.flex-item{ background-color:blue; width: 100px; margin: 5px; }

align-items
속성: 이 속성은 확장성을 나타내는 데 사용됩니다. 교차 축 방향의 항목 정렬 가능한 값은 flex-start, flex입니다. -끝, 중심, 기준선 및 늘이기 설명해야 할 것은 계산된 기준선을 기반으로 한 다음 이러한 항목이 이 기준선 정렬을 따라 이동할 수 있도록 하는 기준선 값입니다. 기준선 계산은 크기 및 내용에 따라 다릅니다. 다음과 같이 확장 가능한 항목의 구성:align-items:baseline;
css 코드:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; } .flex-item{ background-color:blue; width: 100px; margin: 5px;; } .a{ margin-top: 10px; height: 100px; } .b{ margin-top: 20px; height: 150px; } .c{ margin-top: 30px; height: 80px; }
HTML代码:
<p class="flex-container"> <p class="flex-item a">A</p> <p class="flex-item b">B</p> <p class="flex-item c">A</p> <p class="flex-item a">B</p> </p>
效果如下:
可以看到四个可伸缩项目在侧轴方向上(垂直方向)高度不一,margin不一样,但是最后都按照计算出来的一个基准线对齐;
align-items:stretch;
这个是取值会让可伸缩项目在侧轴方向上进行拉伸,前提是这些项目在侧轴方向上没有设置尺寸,否则会按照你设置的尺寸来渲染。
css代码:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:stretch; } .flex-item{ background-color:blue; width: 100px; /*height: 100px;*/ margin: 5px;; }
HTML代码:
<p class="flex-container"> <p class="flex-item ">A</p> <p class="flex-item ">B</p> <p class="flex-item ">A</p> <p class="flex-item ">B</p> </p>
效果如下:
可以看到这些可伸缩项目在侧轴方向上被拉伸了,因为在垂直方向上没有设置高度。
到目前为止,我们所有的伸缩项目都是在一行或者一列上进行的,并没有进行换行和换列,flex-wrap属性表示是否支持换行或者换列,它有nowrap,wrap,wrap-reverse三个取值,nowrap是默认值,表示不换行或者换列,wrap表示换行或者换列,wrap-reverse表示支持换行或者换列,但是会沿着相反方向进行排列(如主轴是垂直方向换行后就按照先下后上的顺序来排列伸缩项)
css代码:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; flex-wrap: wrap; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; }
HTML代码:
<p class="flex-container"> <p class="flex-item ">A</p> <p class="flex-item ">B</p> <p class="flex-item ">A</p> <p class="flex-item ">B</p> <p class="flex-item ">A</p> <p class="flex-item ">B</p> <p class="flex-item ">A</p> <p class="flex-item ">B</p></p>
效果如下:
可以看到伸缩项增多之后一行难以放下的时候会接着换行。wrap属性保证换行后按照正常的从上到下顺序排列
align-content属性用来表示换行之后各个伸缩行的对齐方式,它的取值有 stretch,flex-start,flex-end,center,space-between,space-around,意义和align-items属性取值意义相同,上面我们将7个伸缩项目分成了两行来排列,
将css代码添加align-content属性,html代码不变,如下:
CSS代码:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; flex-wrap: wrap; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; }
效果如下:
可以看到两个伸缩行在侧轴(垂直)方向上两端对齐了。
flex-flow属性,该属性是个复属性,它是flex-direction和flex-wrap的复合属性,flex-direction:row;flex-wrap:wrap就等同于flex-flow:row wrap
order属性,该属性用来表示伸缩项目的排列方式,正常情况下伸缩项目会按照主轴起点到主轴终点排列,遇到换行或者换列会按照从侧轴起点到终点进行排列(除非设置了某些 对齐方式的reverse),但是某些情况下这种默认显示顺序不符合要求,可以采用给伸缩项添加order属性来指定排列顺序,默认情况下,每个伸缩项的order都是0,改属性可正可负,越大的值会被排列在越后面。
css代码:
.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; flex-flow: row wrap; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; } .order1{ order:1; } .order2{ order:2; }
HTML代码:
<p class="flex-container"> <p class="flex-item order1">1</p> <p class="flex-item order2">2</p> <p class="flex-item ">3</p> <p class="flex-item ">4</p> <p class="flex-item ">5</p> <p class="flex-item ">6</p> <p class="flex-item ">7</p> <p class="flex-item ">8</p></p>
效果如下:
默认情况下,会按照HTML的顺序1-8进行显示,但是由于给p1和2设置了大于0的order,所以他们被放在了最后显示(因为其他没有被设置的p的order默认属性都是0)
margin属性在flexbox布局中有很强大的作用,如果给某个可伸缩项设置某个方向上的margin为auto,那么这个可伸缩项就会在这个方向上占用该方向的剩余空间来作为自己的这个方向上的margin。
css代码:
.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; flex-flow: row wrap; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; } .a{ margin-right:auto; }
HTML代码:
<p class="flex-container"> <p class="flex-item a">1</p> <p class="flex-item ">2</p> <p class="flex-item ">3</p></p>
效果如下:
由于给伸缩项1添加了margin-right为auto,所以它独占了本行的剩余空间作为它的right margin值。
利用这个特性,我们在flexbox布局中很容易实现可伸缩元素的垂直水平居中,
css代码;
.flex-container{ display:flex; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; flex-flow: row wrap; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; } .a{ margin:auto; }
HTML代码:
<p class="flex-container"> <p class="flex-item a">1</p></p>
效果如下:
align-self属性,该属性是给各个可伸缩项设置自己的在侧轴上的对齐方式的,之前在容器上设置的align-item属性是作为一个整体设置的,所有的元素对齐方式都一样,align-self属性会覆盖之前的align-item属性,让每个可伸缩项在侧轴上具有不同的对齐方式,取值和align-item相同:
css代码:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; } .a{ align-self:flex-start ; } .b{ align-self:flex-end; } .c{ align-self:center; }
html代码:
<p class="flex-container"> <p class="flex-item a">1</p> <p class="flex-item b">2</p> <p class="flex-item c">3</p></p>
效果如下:
可以看到三个伸缩项在侧轴上被赋予了不同的对齐方式。
flex属性,这个属性是加在伸缩项上面的,它定义了伸缩项如何分配主轴尺寸,通常取值为auto或者数字,auto浏览器会自动均分,数字会按照伸缩项所占的数字比重来分配空间,
这个属性会覆盖伸缩项在主轴上设定的尺寸,当给主轴上伸缩项设定了尺寸(宽或高)和这个属性的时候,事实上还是会按照这个属性来进行空间分配。
css代码:
.flex-container{ display:flex; flex-direction: row; width:600px; height:230px; background-color: #ccc; justify-content: space-around; align-items:baseline; align-content: space-between; } .flex-item{ background-color:blue; width: 100px; height: 70px; margin: 5px;; } .a{ align-self:flex-start ; flex:1; } .b{ align-self:flex-end; flex:2; } .c{ align-self:center; flex:1; }
HTML代码:
<p class="flex-container"> <p class="flex-item a">1</p> <p class="flex-item b">2</p> <p class="flex-item c">3</p></p>
效果如下:
可以看到伸缩项尽管设置了宽度,但是最终还是按照我们设置的flex比例对水平空间进行了分割。
위 내용은 CSS3의 Flexbox 레이아웃을 위한 그래픽 및 텍스트 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 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)

뜨거운 주제











Windows 11에서는 시작 메뉴가 다시 디자인되었으며 시작 메뉴에 폴더, 앱 및 앱이 있었던 이전 버전과 달리 페이지 그리드에 배열된 단순화된 앱 세트를 제공합니다. 시작 메뉴 레이아웃을 사용자 정의하고 다른 Windows 장치로 가져오거나 내보내 원하는 대로 개인화할 수 있습니다. 이 가이드에서는 Windows 11에서 기본 레이아웃을 사용자 지정하기 위해 시작 레이아웃을 가져오는 단계별 지침을 설명합니다. Windows 11의 Import-StartLayout이란 무엇입니까? 시작 레이아웃 가져오기는 Windows 10 및 이전 버전에서 시작 메뉴에 대한 사용자 지정을 가져오기 위해 사용되는 cmdlet입니다.

Windows 11은 사용자 경험 측면에서 많은 것을 제공하지만 반복이 완전히 오류로부터 안전한 것은 아닙니다. 사용자는 때때로 문제에 직면하며 아이콘 위치 변경이 일반적입니다. 그렇다면 Windows 11에서 데스크톱 레이아웃을 저장하는 방법은 무엇입니까? 현재 창의 화면 해상도를 저장하든 데스크탑 아이콘 배열을 저장하든 관계없이 이 작업을 위한 내장 솔루션과 타사 솔루션이 있습니다. 이는 데스크탑에 많은 아이콘이 있는 사용자에게 더욱 중요해집니다. Windows 11에서 바탕 화면 아이콘 위치를 저장하는 방법을 알아보려면 계속 읽어보세요. Windows 11에서 아이콘 레이아웃 위치를 저장하지 않는 이유는 무엇입니까? Windows 11이 바탕 화면 아이콘 레이아웃을 저장하지 않는 주요 이유는 다음과 같습니다. 디스플레이 설정 변경: 일반적으로 디스플레이 설정을 수정하면 구성된 사용자 지정이

잘못 정렬된 WordPress 웹 페이지 해결 가이드 WordPress 웹 사이트 개발 시 때로는 웹 페이지 요소가 잘못 정렬되는 경우가 있습니다. 이는 다양한 장치의 화면 크기, 브라우저 호환성 또는 부적절한 CSS 스타일 설정 때문일 수 있습니다. 이러한 잘못된 정렬을 해결하려면 문제를 주의 깊게 분석하고, 가능한 원인을 찾아 단계별로 디버그하고 복구해야 합니다. 이 문서에서는 몇 가지 일반적인 WordPress 웹 페이지 정렬 문제와 해당 솔루션을 공유하고 개발에 도움이 되는 특정 코드 예제를 제공합니다.

HTML 및 CSS를 사용하여 반응형 회전판 레이아웃을 만드는 방법 회전판은 현대 웹 디자인의 일반적인 요소입니다. 사용자의 관심을 끌고, 여러 콘텐츠나 이미지를 표시하고, 자동으로 전환할 수 있습니다. 이 글에서는 HTML과 CSS를 사용하여 반응형 캐러셀 레이아웃을 만드는 방법을 소개합니다. 먼저 기본 HTML 구조를 만들고 필요한 CSS 스타일을 추가해야 합니다. 다음은 간단한 HTML 구조입니다: <!DOCTYPEhtml&g

H5에서 위치 속성을 유연하게 사용하는 방법 H5 개발에서는 요소의 위치 지정 및 레이아웃이 관련되는 경우가 많습니다. 이때 CSS 위치 속성이 작동하게 됩니다. 위치 속성은 상대 위치 지정, 절대 위치 지정, 고정 위치 지정 및 고정 위치 지정을 포함하여 페이지에서 요소의 위치 지정을 제어할 수 있습니다. 이번 글에서는 H5 개발에서 position 속성을 유연하게 활용하는 방법을 자세히 소개하겠습니다.

CSS 레이아웃 속성 최적화 팁: positionsticky 및 flexbox 웹 개발에서 레이아웃은 매우 중요한 측면입니다. 좋은 레이아웃 구조는 사용자 경험을 향상시키고 페이지를 더욱 아름답고 탐색하기 쉽게 만들 수 있습니다. CSS 레이아웃 속성은 이 목표를 달성하는 데 핵심입니다. 이 기사에서는 일반적으로 사용되는 두 가지 CSS 레이아웃 속성 최적화 기술인 positionsticky와 flexbox를 소개하고 구체적인 코드 예제를 제공합니다. 1. 직위

동시에 여러 창을 열 때 win7에는 여러 창을 서로 다른 방식으로 배열한 다음 동시에 표시하는 기능이 있어 각 창의 내용을 더 명확하게 볼 수 있습니다. 그렇다면 win7에는 몇 개의 창 배열이 있나요? 편집기를 통해 살펴보겠습니다. Windows 7 창을 정렬하는 방법에는 여러 가지가 있습니다. 세 가지, 즉 계단식 창, 스택형 디스플레이 창, 병렬 디스플레이 창입니다. 여러 창을 열 때 작업 표시줄의 빈 공간을 마우스 오른쪽 버튼으로 클릭하면 됩니다. 세 가지 창 배열을 볼 수 있습니다. 1. 계단식 창: 2. 누적형 디스플레이 창: 3. 나란히 표시되는 창:

CSS에서 포함의 구문 사용 시나리오 CSS에서 포함은 요소의 콘텐츠가 외부 스타일 및 레이아웃과 독립적인지 여부를 지정하는 유용한 속성입니다. 이는 개발자가 페이지 레이아웃을 더 잘 제어하고 성능을 최적화하는 데 도움이 됩니다. 이 문서에서는 포함 특성의 구문 사용 시나리오를 소개하고 특정 코드 예제를 제공합니다. 포함 속성의 구문은 다음과 같습니다: contain:layout|paint|size|style|'none'|'stric
