1 분 소요

css 디스플레이(display) float


css 디스플레이(display)

display 속성은 웹 페이지의 레이아웃을 결정하는 속성으로 display 속성을 사용하면 블록 속성 요소와 인라인 속성 요소를 바꿔 사용 가능하다.

종류 설명
block 언제나 새로운 라인에서 시작하고 해당 라인의 모든 라인을 차지함.
inline 새로운 라인에서 시작하지 않고 라인 전체가 아닌 해당 HTML 요소의 내용만큼만 차지함.
inline-block 인라인 속성과 블록 속성을 모두 가지고 있으며 너비 높이 패딩 마진을 지정할 수 있음.
none 웹 페이지에서 해당 요소를 표시하지 않고 레이아웃에서 사라짐.
<!--생략-->
...
#inline img{
    width:100px;
    display: inline;
}
#block img{
	display: block;
}
...
<div id="inline">
    <img src="./birthday.png" alt="선물">
    <img src="./birthday.png" alt="선물">
    <img src="./birthday.png" alt="선물">
</div>
<div id="block">
    <img src="./birthday.png" alt="선물">
    <img src="./birthday.png" alt="선물">
    <img src="./birthday.png" alt="선물">
</div>
...
<!--생략-->

ccs11_1

결과를 보면 inline을 적용한 div 내 이미지들은 각 이미지 마다 라인을 차지하지않고 img 요소 만큼만 차지하고 좌우로 나열되었고 block을 적용한 이미지들은 이미지 마다 한줄의 라인을 전부 차지하여 밑으로 나열되었다. 그 외에 visibility 속성도 있다.

visibility: hidden | visible

속성값 hidden을 적용하게되면 display: none과 마찬가지로 웹 페이지에서 요소가 보이지 않게 된다. 그러나 차이점은 display: none은 사라진 레이아웃의 자리자체가 사라지게되고 visibility: hidden은 기존의 차지하고 있던 자리는 유지하고 있다는 차이가 있다.

<!--생략-->
...
    p.none{ display: none;}
    p.hidden{ visibility: hidden;}
...
<div>
    <p>display 속성값을 none으로 설정합니다.</p>
    <p class="none">display 속성값을 none으로 설정했습니다.</p>
</div>
<div>
    <p>visibility 속성값을 hidden으로 설정합니다.</p>
    <p class="hidden">visibility 속성값을 hidden으로 설정했습니다.</p>
</div>
...
<!--생략-->

ccs11_2


float

HTML 요소를 수평으로 정렬하고자 할 때 사용하는 방법으로 다른 요소들과 자연스럽게 어울리도록 만들어준다. float를 적용받은 요소들은 right, left 방향을 결정하게 되고 속성값을 적용받으면 float를 적용 받은 요소의 다음 요소들은 끌어올려지게된다.

<!--생략-->
...
#left-apple{
    float:left;
    margin-right: 20px;
    width: 300px;
}
p{
    font-size: 20px;
    line-height: 1.5;
}
...
<img id="left-apple" src="./apple.png" alt="사과"><p>Lorem ipsum dolor...</p>
...
<!--생략-->

ccs11_3

clear

float 속성을 사용해 웹 페이지 상에 요소를 왼쪽이나 오른쪽으로 배치하면 그 다음 요소도 위로 딸려올라게 된다. 이러한 특성을 없애주기위해서는 clear: both를 사용하여 플로팅을 종료 시켜주면된다.

<!--생략-->
...
#p1{
    width: 38%;
    background-color: gold;
    float: left;
}
#p2{
    width: 54%;
    background-color: greenyellow;
    float: left;
}
#p3{
    clear: both;  /* float 종료시 사용하면 아래부터 다시 시작 가능*/
    background-color: deepskyblue;
}
...
<div id="p1">
        <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit...</p>
</div>
<div id="p2">
        <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit...</p>
</div>
<div id="p3">
        <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit...</p>
</div>
...
<!--생략-->

ccs11_4

태그:

카테고리:

업데이트: