본문 바로가기
즐거움 넘치는 IT 세계/코드로 만드는 디자인

[ CSS 입문 ] float 속성

by 디리씨 2018. 9. 16.
728x90

| 개요

float 라는 단어는 원래 '뜨다'라는 의미이며, 원래 웹페이지에서 이미지를 어떻게 띄워서 텍스트와 함께 배치할 것인가에 대한 속성입니다.

 

      • inherit : 부모 요소에서 상속
      • left : 왼쪽에서 부유하는 블록 박스를 생성. 페이지 내용은 박스 오른쪽에 위치하며 위에서 아래로 흐름.
      • right : 오른쪽에서 부유하는 블록 박스를 생성. 페이지 내용은 박스 왼쪽에 위치하며 위에서 아래로 흐름. 이후 요소에 clear속성이 있으면 페이지 흐름이 달라짐. none이 아니라면 display속성은 무시.
      • none : 요소를 부유시키지 않음

 

left와 right를 통해 부유속성을 지정시 display속성은 무시 됩니다. (none 제외)

또한 이후 요소에 clear 속성이 있으면 페이지 흐름이 달라집니다.

 

 

| 예제1

<html>
<head>
<style>
   .float-container{
      width: 320px;
      border: 2px solid #09c;
   }
   .float-container img{
      float: left;
      margin: 5px;
      padding: 5px;
      border: 2px solid #90C;
   }
</style>
</head>
<body>
   <div class="float-container">
      <img src="/images/attach/earth.jpg">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
      tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
      consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
      cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
      proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
   </div>
</body>
</html>

 

| 결과값

 

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

 

 

 

| 레이아웃에서의 float

 

float 속성은 원래 이미지와 텍스트 배치 용도로 등장했지만, 요즘에는 레이아웃을 배치할때도 많이 사용되고 있습니다.

 

<div>태그를 float 속성 및 width, height 속성 등을 이용하여 레이아웃을 배치하는 방식입니다.

 

<html>
<head>
<style>
   .ex-layout{ height: 310px }
   .menu{
      width: 300px;
      height: 40px;
      border: 2px solid #09c;
      background-color: #d7f5ff;
   }
   .main .left-menu{
      float: left;
      width: 50px;
      height: 254px;
      border: 2px solid red;
      background-color: #ffe7d5;
   }
   .main .content{
      float: left;
      width: 250px;
      height: 250px;
   }
   .main .content .article{
      height: 200px;
      border: 2px solid blue;
      background-color: #e2e9ff;
   }
   .main .content .comment{
      height: 50px;
      border: 2px solid purple;
      background-color: #ffddff;
   }
</style>
</head>
<body>
   <div class="ex-layout">
      <div class="menu">global menu</div>
      <div class="main">
         <div class="left-menu">left menu</div>
         <div class="content">
            <div class="article">article</div>
            <div class="comment">comment</div>
         </div>
      </div>
   </div>
</body>
</html>

 

| 결과값

left menu
article
comment

 

 

 

 

728x90
반응형