티스토리 뷰

CSS

CSS - Display / Position

김소비요정 2021. 8. 25. 10:00

Display & Position

  • 웹사이트를 만들 때 가장 중요한 것은? ⇒ 잘 정의한 박스들을 원하는 위치에 원하는 사이즈로 배치하는 것 ⇒ display & position 

Display

  • display : inline, block, inline-block
  • Inline 요소는 컨텐츠 자체를 꾸며주는 것이므로 width, height 을 무시한다. (컨텐츠의 width, height에 따라 크기가 변함)
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>

  <!-- Block level -->
  <div></div>
  <div></div>
  <div></div>

  <!-- Inline level -->
  <span>1</span>
  <span>2</span>
  <span>3</span>
  
</body>
</html>​
div, span {
  width: 100px;
  height: 100px;
  margin: 20px;
  background :pink;
}

div {
  background: red;
  display: inline-block;//한줄에 진열되는 상자
}

span {
  background: blue;
  display:block;//한줄에 하나만 진열되는 상자
}

//인라인이라는 것은 컨텐츠 자체만을 꾸며주는 것. 그래서 width, height 개무시

 


Position

  • static : (기본 값) html에 정의된 순서대로 위치하는 것.
  • relative : 원래 있어야 하는 자리에서 이동하며, 원래 있던 자리의 공간을 유지한다.
  • absolute : 나와 가장 가까운 부모를 기준으로 이동하며, 원래 있던 자리 공간을 유지하지 않는다.
  • fixed : 상자에서 벗어나서 페이지 내에서 이동
  • sticky : 원래 있던 자리에 있으면서 스크롤링 되어도 기존 자리에 위치. 꼭 위치를 지정해줘야함
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <article class="container">
    <div></div>
    <div class="box">I'm Box</div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </article>  
</body>
</html>
div {
  width: 50px;
  height: 50px;
  margin-bottom: 20px;
  background: red;
}

.container {
  background: yellow;
  position: relative;/*static이 기본값*/
  left: 20px;
  top: 20px;
}

.box {
  background: blue;
/*  position: relative;*//*static이 기본값*/
  position: absolute;/*static이 기본값*/
  /*fixed : 윈도우 사이즈 안에서..
  sticky 원래 있던 그자리에 붙어있는거 스크롤링해도*/
  left: 20px;
  top: 20px;
}

'CSS' 카테고리의 다른 글

CSS - flexbox ✨  (0) 2021.08.26
CSS - 개념 / 선택자  (0) 2021.08.24