본문 바로가기

Webstoryboy

Category

Explanation

REFERENCE/CSS

[CSS] flex

flex

flex 속성은 콘텐츠의 성질을 flex로 정의합니다.


flex

flex 속성은 콘텐츠의 성질을 flex로 정의합니다.

정의(Definition)

  • flex 속성은 콘텐츠의 성질을 flex로 정의합니다.

문법(Syntax)

flex : flex-grow | flex-shrink | flex-basis | auto

/* 단위가 없는 속성을 한 개만 사용한 경우 : flex-grow 표현 */
flex: 2;

/* 단위가 있는 속성을 한 개만 사용한 경우 : flex-basis 표현 */
flex: 100px;

/* 단위가 없는 속성을 두 개 사용한 경우 : flex-grow | flex-shrink 표현 */
flex: 2 2;

/* 단위가 있는 속성을 두 개 사용한 경우 : flex-grow / flex-basis 표현 */
flex: 2 100px;

/* 속성을 세 개 사용한 경우 : flex-grow | flex-shrink | flex-basis 표현 */
flex: 2 2 100px;

속성(Property)

속성값 설명
flex-grow 플렉스 요소의 크기를 늘려줍니다.
flex-shrink 플렉스 요소의 크기를 수축시킵니다.
flex-basis 플렉스 요소의 기본 단위를 정의합니다.
auto 플렉스 요소의 크기를 자동으로 설정합니다.

Sample1

콘텐츠 내부 요소의 정렬 상태를 설정하는 예제입니다.

결과
item1
item2
item3
item4
HTML
<div class="flex">
    <div class="item">item1</div>
    <div class="item">item2</div>
    <div class="item">item3</div>
    <div class="item">item4</div>
</div>
CSS
.flex {
    display: flex;
    background: #f3e5f5;
    border-radius: 5px;
    padding: 20px;
}
.item {
    background: #ce93d8;
    margin: 10px;
    padding: 10px;
    width: 100px;
    height: 100px;
    line-height: 100px;
    color: #fff;
    border-radius: 3px;
    text-align: center;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}
.item:nth-child(1) {background: #f48fb1;}
TOTAL
<!DOCTYPE html>
<html lang="ko">
<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>
    <style>
        .choice a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block; border-radius: 20px; text-decoration: none;}
        .flex {
            display: flex;
            background: #f3e5f5;
            border-radius: 5px;
            padding: 20px;
        }
        .item {
            background: #ce93d8;
            margin: 10px;
            padding: 10px;
            width: 100px;
            height: 100px;
            line-height: 100px;
            color: #fff;
            border-radius: 3px;
            text-align: center;
            flex-grow: 1;
            flex-shrink: 1;
            flex-basis: 0;
        }
        .item:nth-child(1) {background: #f48fb1;}
    </style>
</head>
<body>
    <div class="flex">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
    </div>

    <div class="choice">
        <a href="#">reset</a>
        <a href="#">flex: 2;</a>
        <a href="#">flex: 200px;</a>
        <a href="#">flex: 2 200px;</a>
        <a href="#">flex: 1 1 150px;</a>
    </div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(".choice a").on("click",function(e){
            e.preventDefault();
        });

        $(".choice a").click(function(){
            var ass = $(this).text();
            $(".flex .item").eq(0).attr("style",ass);
        });
    </script>
</body>
</html>

호환성(Compatibility) 더보기

크롬 아이콘 파이어폭스 아이콘 사파리 아이콘 오페라 아이콘 네이버 웨일 익스플로러6 아이콘6 익스플로러7 아이콘7 익스플로러8 아이콘8 익스플로러9 아이콘9 익스플로러10 아이콘10 익스플로러11 아이콘11 엣지 아이콘 안드로이드 아이콘 ios 아이콘
flex 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능
flex-grow 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능
flex-shrink 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능
auto 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능

Tag

AD

comments