1 Line layouts

broccoli·2021년 4월 22일
0

design

목록 보기
2/3
post-thumbnail

이 레이아웃들은 해당링크동영상을 정리한 것

1. 아이템 가운데에 정령

.parent {
  display: grid;
  place-items: center;
}

2. 좁으면 스택 넓으면 넓은 데로 스택

.parent {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; //옵션
}

.box {
  flex: 1 1 150px; /*  Stretching: */
  flex: 0 1 150px; /*  No stretching: */
  margin: 5px;
}

3. sidebar / main

.parent {
  display: grid;
  grid-template-columns: minmax(150px, 25%) 1fr;
}

4. 스택

.parent {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

5. sidebar 와 스택

.parent {
  display: grid;
  grid-template: auto 1fr auto / auto 1fr auto;
}
  
header {
  padding: 2rem;
  grid-column: 1 / 4;
}

.left-side {
  grid-column: 1 / 2;
}

main {
  grid-column: 2 / 3;
}

.right-side {
  grid-column: 3 / 4;
}

footer {
  grid-column: 1 / 4;
}

6. 12 span grid

.parent {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
  
.span-12 {
  grid-column: 1 / span 12;
}

.span-6 {
  grid-column: 1 / span 6;
}

.span-4 {
  grid-column: 4 / span 4;
}

.span-2 {
  grid-column: 3 / span 2;
}

/* centering text */
.section {
  display: grid;
  place-items: center;
  text-align: center
}

7. Repeat, Auto, Minmax

.parent {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  /*grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));*/
}

8. Line Up

.card {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  justify-content: space-between;
}

9. Clamp

여기서 ch은 character 글자수를 의미함

.card {
  width: clamp(23ch, 50%, 46ch);
  display: flex;
  flex-direction: column;
  padding: 1rem;
}

10. Respect for Aspect

이건 동영상이나 사진 같은 것들의 비율을 정할 때 적합한데....문제는 아직 모든 브라우저에서 지원하진 않는다.

.visual {
  aspect-ratio: 16 / 9;
}

그래서 아직 대신 사용하는것이 padding-top이다.

.container {
  background-color: red;
  width: 100%;
  padding-top: 100%; /* 1:1 Aspect Ratio */
  position: relative; /* If you want text inside of it */
}

/* If you want text inside of the container */
.text {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
  • 16:9 ratio: padding-top: 56.25%;
  • 4:3 ratio: padding-top: 75%;
  • 3:2 ratio: padding-top: 66.66%;
  • 8:5 ratio: padding-top: 62.5%;

계산방법: calc(세로/가로 * 100%)

ℹ️ padding top 사용법

padding top 참고링크

profile
🌃브로콜리한 개발자🌟

0개의 댓글