ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 레이아웃의 모든 것
    프론트엔드 개발자가 될거야./htmlcss 2022. 6. 21. 16:16

    1. position 속성 - relative, absolute, fixed
    2. inline, inline-block, block

     

    1. position 속성 - relative, absolute, fixed

    position 에서 사용하는 값은 4개가 있는데 static 은 거의 사용하지 않아서

    relative, absolute, fixed를 정리해보았다.

     

    relative

    relative는

    position: relative; 자체로는 특별한 의미가 없다.

    top, right, bottom, left 프로퍼티가 있어야 힘을 발휘한다.

    위치를 이동시켜주는 top, right, bottom, left 프로퍼티가 있어야 원래의 위치에서 이동할 수 있는 것이다.

     

    top, right, bottom, left  position이라는 프로퍼티가 있을 때만 적용되는 프로퍼티이다.

     

    absolute

    absolute는

    특정 부모에 대해 절대적으로 움직인다.

    단, 부모 중에 position이 relative, fixed, absolute 하나라도 있어야 한다.

    일반적으로 기준이 될 부모에게 position: relative; 를 부여하면 된다.

     

    또한 block-element는 가로크기가 부모 너비만큼 전부 차지해야 하는데,

     absolute 값을 갖게 되면, 내용의 크기만큼만 가로크기가 된다.

    그리고 right: 0; 와 left: 0;을 주면 width: 100%; 를 준 것과 같은 결과가 된다.

     

    fixed

    fixed

    말그대로 고정됐다는 뜻이다.

    fixed 눈에 보이는 브라우저 화면 크기만큼, 화면 내에서만 움직인다.

    absolute처럼 relative를 가진 부모 필요없다.

     

    브라우저 최상단에 고정시키려면

    왼쪽(left)에서 0, 오른쪽(right)에서 0, 상단(top)에서 0 으로 붙여주면 된다.

     

    position이 absolute이거나 fixed가 되면 주변의 요소에 상관없이 위치하게 된다.
    그래서 해당 영역이 무의미해지면서 다른 요소들과 겹치게 되는데
    그럴 땐 body에 padding-top을 주면 된다.

    2. inline, inline-block, block

    linline

    inline요소는

    요소끼리 서로 한 줄에, 바로 옆에 위치할 수 있다는 뜻이다.

    예를 들어, <span>, <a>, <img> 등이 있다.

    이 liline태그들은 줄바꿈 없이 순서대로 한 줄이 보이게 된다.

     

    inline요소 특징

    - width와 height 속성을 지정해도 무시한다.

    - margin과 padding 속성은 좌우 간격만 반영되고 상하 간격은 반영 되지 않는다.

     

    inline-block

    inline엘리먼트처럼 전후 줄바꿈 없이 한 줄에 나란히 배치되지만

    block엘리먼트처럼 width와 height 속성 지정 및 margin과 padding 속성의 상하 간격 지정이 가능하다.

    <input>, <button>, <select> 등이 있다.

     

    inline-block엘리먼트를 이용하면

    여러 개의 엘리먼트를 한 줄에 정확히 원하는 너비만큼 배치할 수 있어서

    레이아웃에 활용하기 좋다.

     

    block

    태그의 대부분이 block 요소인데

    block 요소의 의미는, 이 요소 바로 옆(좌우측)에 다른 요소를 붙여넣을 수 없다는 것이다.

    그래서 다른 엘리먼트들은 다른 줄로 밀어내고 혼자 한 줄을 차지한다.

    예를 들어, <div>, <h1>, <header>, <p>, <li> 등이 있다.

     

     

    display 속성 값은
    원하는 값으로 자유롭게
    css에서 수정하능하다.

    댓글

Designed by Tistory.