Flexbox는 "유연한 상자"를 의미합니다. CSS3에서 도입된 새로운 레이아웃 모드입니다. 이는 확장 가능하고 유연한 웹 페이지 레이아웃 방법입니다. Flexbox 레이아웃 모드는 사용 가능한 공간을 최대화하기 위해 Flex 컨테이너의 요소를 확장 및 축소할 수 있습니다.
이 튜토리얼의 운영 환경: Windows7 시스템, CSS3&&HTML5 버전, Dell G3 컴퓨터.
Flexbox는 유연한 상자(Flexible Box Container)의 약자로 확장 가능하고 유연한 웹페이지 레이아웃 방법인 CSS3에서 도입한 새로운 레이아웃 모드입니다. 다양한 화면 크기와 장치에서 요소가 예측 가능하게 표시되도록 페이지에서 요소를 정렬하는 방법을 결정합니다.
Flexbox는 매우 강력한 기능을 가지고 있으며 많은 복잡한 레이아웃을 쉽게 구현할 수 있습니다. 우리가 자주 사용했던 레이아웃 방법은 부동 또는 고정 너비 + 레이아웃 비율로 많은 양의 코드가 필요하고 이해하기 어려웠습니다.
Flex 레이아웃은 Flex 컨테이너 내의 요소를 확장 및 축소하여 사용 가능한 공간을 최대화할 수 있기 때문에 Flexbox라고 합니다. 이전 레이아웃 방법(예: 블록 요소 내의 테이블 레이아웃 및 부동 요소)과 비교할 때 Flexbox는 더 강력한 방법입니다.
- 요소를 다른 방향으로 정렬
- 요소 표시 순서 재정렬
- 요소 정렬 변경
- 컨테이너에 요소를 동적으로 로드
플렉스 컨테이너 만들기:
부모 요소에 이 속성 추가:
display: flex;
nbsp;html> <meta> <meta> <meta> <title>Document</title> <style> *{ margin: 0; padding: 0; } .flex-container{ background-color: #131111; display: flex; /*让这个div变成弹性盒子*/ } .flex-container .flex-item{ padding: 20px; background-color: #b1ff84; } .flex-container .flex-item:first-child{ background-color: #f5e25f; } .flex-container .flex-item:last-child{ background-color: #0B5A79; } </style> <div> <div>1</div> <div>2</div> </div>
작동 효과:
자동으로 두 개의 div와 동일 기본적으로 부동 상태로 유지, 모든 직계 하위 요소는 플렉스 항목으로 간주되며 왼쪽에서 오른쪽으로 한 줄로 배열됩니다. Flex 항목 너비의 합이 컨테이너보다 큰 경우 Flex 항목은 Flex 컨테이너 너비에 맞을 때까지 축소됩니다.
이 두 하위 div를 한 줄로 정렬하고 .flex-container: flex-direction: column;
추가된 속성이 flex-direction: column-인 경우 reverse; 즉, 두 div가 교환됩니다(reverse는 반대를 의미함). justify-content를 .flex-container에 추가하면 flex-end; 내부의 모든 플렉스는 기본적으로 왼쪽에서 오른쪽으로 정렬됩니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>
*{
margin: 0;
padding: 0;
}
.flex-container{
background-color: #131111;
display: flex; /*让这个div变成弹性盒子*/
justify-content: flex-end;
}
.flex-container .flex-item{
padding: 20px;
background-color: #b1ff84;
}
.flex-container .flex-item:first-child{
background-color: #f5e25f;
}
.flex-container .flex-item:last-child{
background-color: #0B5A79;
}
</style>
<body>
<div>
<div>1</div>
<div>2</div>
</div>
</body>
</html>
실행 효과: justify-content 값이 center인 경우 플렉스 항목이 중앙에 정렬되고 실행 효과: justify-content에는 총 6개의 값이 있습니다. 처음 세 개는 이해하기 더 쉽습니다: justify-start (기본값, 왼쪽 정렬), center, justify-end,
space-evenly : Flex 컨테이너의 시작 가장자리 사이의 간격 첫 번째 플렉스 아이템은 인접한 각 플렉스 아이템 사이의 간격과 같습니다. (Fol's Wharf 참고 사항: 이 속성은 이전에는 브라우저가 지원하지 않았고 Chrome은 버전 60 이후에만 지원했기 때문에 이전에는 거의 볼 수 없었습니다. 확장하여 <code>align-content: space-evenly
에도 이 논리가 있습니다. )
space-between
: 인접한 두 Flex 항목 사이의 간격은 동일하지만 첫 번째/마지막 Flex 항목과 Flex 컨테이너 가장자리 사이의 간격과 반드시 같지는 않습니다. 시작 가장자리와 첫 번째 항목 사이의 간격은 끝 가장자리와 마지막 항목 사이의 간격과 같습니다.
space-around
: Flex 컨테이너의 각 Flex 항목은 각 측면에서 동일한 간격을 갖습니다. 이는 두 개의 인접한 플렉스 항목 사이의 공간이 첫 번째/마지막 플렉스 항목과 가장 가까운 가장자리 사이의 공간의 두 배가 된다는 것을 의미합니다.
온라인에서 인기 있는 사진, 더 나은 설명 justify-content 속성 값의 성능:
지정된 div를 위쪽이나 아래쪽으로 정렬할 수도 있습니다:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <style> *{ margin: 0; padding: 0; } .flex-container{ background-color: #131111; display: flex; /*让这个div变成弹性盒子*/ justify-content: center; align-items: center; } .flex-container .flex-item{ padding: 20px; background-color: #b1ff84; } .flex-container .flex-item:first-child{ background-color: #f5e25f; } .flex-container .flex-item:last-child{ background-color: #0B5A79; } .flex-bottom{ /* 让这个div向上 */ align-self: flex-start; } </style> <body> <div> <!-- 多加个class属性,方便指定 --> <div class="flex-item flex-bottom">1</div> <div>2 <br />2 <br/></div> <div>3 <br />3<br />3</div> </div> </body> </html>
- 실행 효과:
-
space-evenly
: flex 容器起始边缘和第一个 flex 项之间的间距和每个相邻 flex 项之间的间距是相等。(愚人码头注:该属性以前很少看到,原因是以前浏览器不支持,chrome 也是 60 版本之后才支持。延伸一下,align-content: space-evenly
也是这个逻辑 )
-
space-between
: 任何两个相邻 flex 项之间的间距是相同的,但不一定等于第一个/最后一个 flex 项与 flex 容器边缘之间的间距;起始边缘和第一个项目之间的间距和末端边缘和最后一个项目之间的间距是相等的。 space-around
마찬가지로, algin-item 5가지 속성 값도 있습니다:
flex-start | flex-end | center | baseline | stretch;
아래 그림은 해당 효과입니다. :
플렉스 항목을 여러 행/열로 정렬할 수 있습니다.
.flex-container{ background-color: #131111; display: flex; flex-wrap: wrap; }
默认情况下, flex 项不允许多行/列排列(nowrap),如果 flex 容器尺寸对于所有 flex 项来说不够大,那么flex 项将被调整大小以适应单行或列排列。
通过添加 flex-wrap: wrap
,可以将溢出容器的 flex 项将被排列到另一行/列中,它也有三个取值:
nowrap(默认):不换行.
wrap:换行,第一行在上方
wrap-reverse:换行,第一行在下方
插入一段代码,看下效果:
nbsp;html> <meta> <meta> <meta> <title>Document</title> <style> *{ margin: 0; padding: 0; } .flex-container{ background-color: #131111; display: flex; flex-wrap: wrap; justify-content: space-evenly;/**/ align-content: space-evenly; } .flex-container .flex-item{ padding: 20px; background-color: #b1ff84; } .flex-container .flex-item:first-child{ background-color: #f5e25f; } .flex-container .flex-item:last-child{ background-color: #0B5A79; } .flex-bottom{ /* 让这个div向下 */ align-self: stretch; } </style> <div> <!-- 多加个class属性,方便指定 --> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> </div>
运行效果:
当长度不够长时,自动换行:
当长度再短时:
拉伸 flex 项
flex-grow
只有在 flex 容器中有剩余空间时才会生效。flex 项的 flex-grow
属性指定该 flex 项相对于其他 flex 项将拉伸多少,以填充 flex 容器。默认值为1
。当设置为 0
时,该 flex 项将不会被拉伸去填补剩余空间。在这个例子中,两个项的比例是 1:2,意思是在被拉伸时,第一个 flex 项将占用 1/3,而第二个 flex 项将占据余下的空间,flex-grow控制的是flex项的拉伸比例,而不是占据 flex 容器的空间比例。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <style> *{ margin: 0; padding: 0; } .flex-container{ background-color: #131111; display: flex; } .flex-item1{flex-grow: 0;} .flex-item2{flex-grow: 1;} .flex-item3{flex-grow: 2;} .flex-container{ width:400px; padding:10px; background-color: #F0f0f0; } .flex-container .flex-item{ padding:20px 0; text-align: center; width:90px; background-color: #B1FF84; } .flex-container .flex-item:first-child{ background-color: #F5DE25; } .flex-container .flex-item:last-child{ background-color: #90D9F7; } </style> <body> <div> <div class="flex-item flex-item1">1</div> <div class="flex-item flex-item2">2</div> <div class="flex-item flex-item3">3</div> </div> </body> </html>
我将三个div全部设为width:90px;
运行效果:
将flex-container的width变为600时:
可以看出2 3 以不同的比例在填充剩余的空间,grow-shrink则是相反的,默认为1,即如果空间不足,该项目将缩小。
위 내용은 CSS3 플렉스박스란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

반응을 HTML에 통합하려면 다음 단계를 따르십시오. 1. HTML 파일에 React 및 Reactdom을 소개하십시오. 2. 반응 구성 요소를 정의합니다. 3. 반응을 사용하여 구성 요소를 HTML 요소로 렌더링합니다. 이러한 단계를 통해 정적 HTML 페이지를 역동적이고 대화식 경험으로 변환 할 수 있습니다.

React의 인기에는 성능 최적화, 구성 요소 재사용 및 풍부한 생태계가 포함됩니다. 1. 성능 최적화는 가상 DOM 및 Diffing 메커니즘을 통해 효율적인 업데이트를 달성합니다. 2. 구성 요소 재사용은 재사용 가능한 구성 요소에 의해 중복 코드를 줄입니다. 3. 풍부한 생태계와 일원 데이터 흐름은 개발 경험을 향상시킵니다.

React는 동적 및 대화식 사용자 인터페이스를 구축하기위한 선택 도구입니다. 1) 구성 요소화 및 JSX는 UI 분할 및 재사용을 간단하게 만듭니다. 2) State Management는 Usestate 후크를 통해 구현되어 UI 업데이트를 트리거합니다. 3) 이벤트 처리 메커니즘은 사용자 상호 작용에 응답하고 사용자 경험을 향상시킵니다.

React는 사용자 인터페이스를 구축하기위한 프론트 엔드 프레임 워크입니다. 백엔드 프레임 워크는 서버 측 응용 프로그램을 구축하는 데 사용됩니다. React는 구성 및 효율적인 UI 업데이트를 제공하며 백엔드 프레임 워크는 완전한 백엔드 서비스 솔루션을 제공합니다. 기술 스택, 프로젝트 요구 사항, 팀 기술 및 확장 성을 선택할 때는 고려해야합니다.

HTML과 React의 관계는 프론트 엔드 개발의 핵심이며, 현대 웹 애플리케이션의 사용자 인터페이스를 공동으로 구축합니다. 1) HTML은 컨텐츠 구조와 의미를 정의하고 React는 구성 요소화를 통해 동적 인터페이스를 구축합니다. 2) 부품은 JSX 구문을 사용하여 HTML을 포함하여 지능형 렌더링을 달성합니다. 3) 구성 요소 수명주기는 상태 및 속성에 따라 HTML 렌더링 및 업데이트를 동적으로 관리합니다. 4) 구성 요소를 사용하여 HTML 구조를 최적화하고 유지 관리 가능성을 향상시킵니다. 5) 성능 최적화에는 불필요한 렌더링을 피하고 주요 속성 사용 및 구성 요소 단일 책임을 유지하는 것이 포함됩니다.

React는 대화식 프론트 엔드 경험을 구축하는 데 선호되는 도구입니다. 1) 반응은 구성 요소화 및 가상 DOM을 통해 UI 개발을 단순화합니다. 2) 구성 요소는 기능 구성 요소 및 클래스 구성 요소로 나뉩니다. 기능 구성 요소는 더 간단하고 클래스 구성 요소는 더 많은 수명주기 방법을 제공합니다. 3) RECT의 작동 원리는 가상 DOM 및 조정 알고리즘에 의존하여 성능을 향상시킵니다. 4) 주 경영진은 usestate 또는 this.state를 사용하며 ComponentDidMount와 같은 수명주기 방법은 특정 논리에 사용됩니다. 5) 기본 사용에는 구성 요소 생성 및 상태 관리가 포함되며 고급 사용량은 사용자 정의 후크 및 성능 최적화가 포함됩니다. 6) 일반적인 오류에는 부적절한 상태 업데이트 및 성능 문제, 디버깅 기술은 ReactDevTools 사용 및 우수

React는 핵심 구성 요소 및 상태 관리 기능을 갖춘 사용자 인터페이스를 구축하기위한 JavaScript 라이브러리입니다. 1) 구성 요소화 및 상태 관리를 통해 UI 개발을 단순화합니다. 2) 작업 원칙에는 화해 및 렌더링이 포함되며 최적화는 React.Memo 및 Usememo를 통해 구현할 수 있습니다. 3) 기본 사용법은 구성 요소를 작성하고 렌더링하는 것입니다. 고급 사용법에는 후크 및 컨텍스트를 사용하는 것이 포함됩니다. 4) 부적절한 상태 업데이트와 같은 일반적인 오류는 ReactDevTools를 사용하여 디버그 할 수 있습니다. 5) 성능 최적화에는 React.Memo, 가상화 목록 및 코드플릿을 사용하는 것이 포함되며 코드를 읽을 수 있고 유지 관리 가능하게 유지하는 것이 가장 좋습니다.

React는 JSX와 HTML을 결합하여 사용자 경험을 향상시킵니다. 1) JSX는 개발을보다 직관적으로 만들기 위해 HTML을 포함시킨다. 2) 가상 DOM 메커니즘은 성능을 최적화하고 DOM 운영을 줄입니다. 3) 유지 보수성을 향상시키기위한 구성 요소 기반 관리 UI. 4) 상태 관리 및 이벤트 처리는 상호 작용을 향상시킵니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
