728x90
반응형
Vendor Prefix |
|
웹 브라우저 공급자가 새로운 기능을 제공할 때 이전 버전의 웹브라우저에 그 사실을 알려주기위해 사용하는 접두어(prefix)를 의미함. **높은 버전의 브라우저들은 대부분의 기능이 제공되므로 프리픽스를 사용할 필요가 없다. |
|
프리픽스를 사용해야하는 경우 - CSS권고 안에 포함이 되지 못한 기능인 경우 - CSS권고 안에는 포함되어 있지만 완벽하게 제정된 상태가 아닌 기능인 경우 - 해당 기능이 포함되어 있지 않은 이전 버전의 웹브라우저인 경우 |
|
프리픽스 형식 -벤더프리픽스명-속성명 또는 -벤더프리픽스명-속성값 |
|
웹브라우저별 벤더 프리픽스 Browser : Vendor Prefix IE, Edge Browser : -ms- Chrome, Android Browser, Chrome for Android, Safari, iOS Safari Browser : -webkit- Firefox Browser : -moz- Opera Browser : -o- |
|
display : -webkit-flex; */
display: flex;
단독으로 사용불가 |
flex |
|
flex-wrap: wrap;
wrap(<>nowrap): 줄바꿈 처리 하라, 컨텐츠가 깨지기 전까지
|
|
flex-direction: row; left기준 |
|
flex-direction: row-reverse;
right기준 |
|
flex-direction: column;
top기준 -wrap처리가 되지 않음 box밖으로 출력됨 |
|
flex-direction: column-reverse;
bottom기준 |
|
부모박스에 속성값을 부여해야 한다.
|
|
flexbox내 컨텐츠
height 미지정시 box height만큼 커진다. width > 컨텐츠 크기만큼 |
ㅁㄴㄹ
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>CSS3 Flexible Box Layout</title> <style> .flexbox { background-color: dimgray; width: 400px; height: 350px; border-radius: 15px; display: -webkit-flex; /* vender prefix */ display: flex; flex-wrap: wrap; /* wrap(<>nowrap): 줄바꿈 처리 하라, 컨텐츠가 깨지지 전까지 */ } #row_reverse { /* -webkit-flex-direction: row-reverse; */ flex-direction: row-reverse; } .item { background-color: darkgray; border-radius: 10px; width: 80px; height: 50px; /* padding: 20px; */ /* margin: 10px; */ color: white; font-size: 26px; text-align: center; line-height: 50px; /* text한 줄에 대한 height설정 */ } .flexbox2 { background-color: dimgray; width: 400px; height: 250px; border-radius: 15px; /* display: -webkit-flex; */ display: flex; } #column { /* -webkit-flex-direction: column; */ flex-direction: column; } #column_reverse { /* -webkit-flex-direction: column-reverse; */ flex-direction: column-reverse; } .item2 { background-color: darkgray; border-radius: 10px; width: 80px; height: 50px; /* margin: 10px; */ color: white; font-size: 26px; text-align: center; line-height: 50px; } </style> </head> <body> <!-- 플렉서블 레이아웃 스타일은 서로 다른 크기의 화면과 기기에서도 HTML요소들이 자동으로 재정렬되어, 웹 페이지의 레이아웃을 언제나 똑같이 유지할 수 있게 해주는 속성이다. --> <h1>flex-direction속성을 이용한 row방향 배치</h1> <h3>flex-direction의 속성값이 row입니다.</h3> <div class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> </div> <h3>flex-direction의 속성값이 row-reverse입니다.</h3> <div id="row_reverse" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h1>flex-direction 속성을 이용한 column 방향 배치</h1> <h3>flex-direction의 속성값이 column입니다.</h3> <div id="column" class="flexbox2"> <div class="item2">1</div> <div class="item2">2</div> <div class="item2">3</div> <div class="item2">4</div> <div class="item2">5</div> <!-- <div class="item2">1</div> <div class="item2">2</div> <div class="item2">3</div> <div class="item2">4</div> <div class="item2">5</div> --> </div> <br /><br /><br /> <h3>flex-direction의 속성값이 column-reverse입니다.</h3> <div id="column_reverse" class="flexbox2"> <div class="item2">1</div> <div class="item2">2</div> <div class="item2">3</div> </div> </body> </html>
justify-content |
#start {
-webkit-justify-content: flex-start;
justify-content: flex-start;
}
|
#center {
-webkit-justify-content: center;
justify-content: center;
|
#between {
-webkit-justify-content: space-between;
justify-content: space-between;
}
|
#around {
-webkit-justify-content: space-around;
justify-content: space-around;
}
|
#end {
-webkit-justify-content: flex-end;
justify-content: flex-end;
} |
justify-content
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .flexbox { background-color: dimgray; width: 400px; height: 200px; border-radius: 15px; display: -webkit-flex; display: flex; } #start { -webkit-justify-content: flex-start; justify-content: flex-start; } #center { -webkit-justify-content: center; justify-content: center; } #between { -webkit-justify-content: space-between; justify-content: space-between; } #around { -webkit-justify-content: space-around; justify-content: space-around; } #end { -webkit-justify-content: flex-end; justify-content: flex-end; } .item { background-color: darkgray; border-radius: 10px; width: 80px; height: 50px; color: white; font-size: 26px; text-align: center; } .flexbox1 { border: 1px solid rgba(255, 0, 0, 0.5); border-radius: 15px; /* padding:20px 0; */ height: 100px; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; } .item1 { background-color: darkgray; border-radius: 10px; width: 80px; height: 50px; color: white; font-size: 26px; text-align: center; line-height: 50px; margin:auto; } </style> </head> <body> <h1>justify-content속성을 이용한 수평정렬</h1> <h3>justify-content의 속성값이 flex-start입니다.</h3> <div id="start" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>justify-content의 속성값이 center입니다.</h3> <div id="center" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>justify-content의 속성값이 flex-end입니다.</h3> <div id="end" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>justify-content의 속성값이 space-between입니다.</h3> <div id="between" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>justify-content의 속성값이 space-around.</h3> <div id="around" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>flex의 기본</h3> <div class="flexbox" style="flex-direction: column;"> <div class="flexbox1"> <div class="item1">1</div> <div class="item1">2</div> <div class="item1">3</div> </div> <div class="flexbox1"> <div class="item1">1</div> <div class="item1">2</div> <div class="item1">3</div> </div> </div> </body> </html>
align-items |
|
#stretch {
align-items: stretch;
}
default |
|
#start {
align-items: flex-start;
}
|
|
#center {
align-items: center;
}
|
|
#end {
align-items: flex-end;
}
|
align-items
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8" /> <title>CSS Flexible Box Layout</title> <style> .flexbox { background-color: dimgray; width: 400px; height: 150px; border-radius: 15px; /* display: -webkit-flex; */ display: flex; } .item { background-color: darkgray; border-radius: 10px; width: 80px; /* margin: 10px; */ color: white; font-size: 26px; text-align: center; line-height: 50px; } #stretch { align-items: stretch; } #start { align-items: flex-start; } #center { align-items: center; justify-content: center; } #end { align-items: flex-end; } </style> </head> <body> <h1>align-items 속성을 이용한 수직 정렬</h1> <h3>align-items의 속성값이 stretch(디폴트)입니다.</h3> <div id="stretch" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>align-items의 속성값이 flex-start입니다.</h3> <div id="start" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>align-items의 속성값이 center입니다.</h3> <div id="center" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>align-items의 속성값이 flex-end입니다.</h3> <div id="end" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> </body> </html>
aa
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>CSS Flexible Box Layout</title> <style> .flexbox { background-color: dimgray; width: 400px; height: 250px; border-radius: 15px; display: -webkit-flex; display: flex; opacity: 0.4; } .item { background-color: darkgray; border-radius: 10px; width: 80px; height: 80px; color: white; font-size: 26px; text-align: center; line-height: 50px; } #centerBox { justify-content: center; } .flexbox:hover { opacity: 1; } #center { -webkit-justify-content: center; align-items: center; justify-content: center; } .itemDiv { background-color: darkgray; border-radius: 10px; margin: auto 0; color: white; font-size: 26px; text-align: center; padding: 7px 35px; } </style> </head> <body> <h3>justify-content의 속성값이 center입니다.</h3> <div id="center" class="flexbox"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div> <h3>justify-content의 속성값이 center입니다.</h3> <div id="centerBox" class="flexbox"> <div class="itemDiv">1</div> <div class="itemDiv">2</div> <div class="itemDiv">3</div> </div> </body> </html>
728x90
반응형
'[CSS]' 카테고리의 다른 글
[CSS] audio (0) | 2024.02.23 |
---|---|
[CSS] box-shadow (0) | 2024.02.23 |
[CSS] layout (0) | 2024.02.22 |
[CSS] media (0) | 2024.02.22 |
[CSS] web Font (0) | 2024.02.22 |