본문 바로가기
PROGRAMING📚/WEB📑

[HTML]좌표값을 받아서 레이아웃 이동하기 : Postion/z-index

별찌루 2023. 5. 23.
728x90
반응형

postion


Float 속성은 객체를 왼쪽, 오른쪽으로 정렬해서 레이아웃을 배치한다면 Postion은 객체의 위치 기준을 정해서 원하는 위치로 배치시키는데 사용된다.

top, left, bottom, rigth라는 속성을 사용하였을때 객체의 위치를 변경 할 수 있는데 어느 위치에서 라는 기준이 이 명시 되어 있지 않기 때문에 position은 기준점을 정해주는 것이라고 생각하면된다.

 

position의 대표 속성 

: static, relative,absolute, fixed 가 있다.

  position : static;
  position : relative; 
  position : absolute;
  position : fixed;

 

position:static :

기본값이 기준이 된다.(기존과 동일한 기준)

positon:relative:

현재 객채의 위치가 기준이 된다.

positon:absolute :

relative 속성을 가지고 있는 부모가 기준이 된다.

position:fixed:

브라우저 창이 기준이 된다. 화면이 바뀌더라도 고정된 위치를 설정 할 수가 있기 때문에 스크롤을 하더라도 위치가 고정되어 움직이지 않는 기능을 구현 할 수 있다.

position:sticky:

스크롤을 했을 때, 해당 객체의 위치를 기준으로 더이상 움직이지 않도록 화면에 고정시키는 속성이다. 다음에 오는 요소는 다음과 상관없이 위로 스크롤 된다. 

sticky요소의 전체 부모요소 중에 overflow: autooverflow: hiddenoverflow: scroll 가 적용된 부모가 있으면 sticky가 안 먹힌다.

 

z-index :


z-index값을 가질때, 높을 숫자를 가질 수록 높은 우선 순위를 가지게 되면서 순서를 앞으로 오는 순서를 정해준다.

    z-index: 0;

회색 네모상자보다 Let'Start 텍스트가 우선순위가 더 낮아서 회색 상자에 가려진 상태로 나오는 것을 볼 수 있다.

 

z-index를 사용하려면 position이 있어야지 사용할 수 있다.

 

 

 

max-width:


화면의 크기에 따라서 객체가 최대 -px 이상으로는 커지지 않도록 한다.

width: 70%
max-width: 800px

하지만 위와 같이 입력하게 되면 객체에 padding 값이나 border값 등 요소들은 넣게 되면 최대가 800px이상 넘어가게 된다. 

그 이유는 width가 content 영역의 너비를 의미하기 때문에

padding, border, margin 영역은 커져도 의미가 없기 때문에 최대 치를 넘어가는 것을 확인 할 수 있다.

 

 

 

 

 

 

 

box-sizing:


max-width가 content의 width가 최대치를 넘어가지 않도록 하는 것이라면 전체 객체의 width값을 content부분만 아니라 나머지 부분도 포함하게 만들어 주어야한다. box-sizing은 이러한 문제를 해결 해준다. 

border-sizing: border-box;

border-box를 사용하면 width가 border까지 포함되게 된다. 다른 속성으로는 content-box가 있는데 이 속성은 기본값과 같은 content 영역까지만 width를 포함한다고 생각하면된다.

 

CSS 만들때 가장 먼저 작업해주면 좋은 3가지 코드

반응형 UI에 대해서 대처하는 방법

div{
    box-sizing: border-box;
}
body{
    margin: 0;
}
html{
    line-height: 1.15;
}
728x90
반응형

댓글