"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 나는 움직이는 걸 좋아해요, 움직여요(2부)

나는 움직이는 걸 좋아해요, 움직여요(2부)

2024-08-26에 게시됨
검색:384

돌아온 것을 환영합니다! 매주 지켜보셨다면 이 시리즈가 잠시 쉬었다는 것을 눈치채셨을 것입니다! 그동안 잘 따라오셨다면 정말 죄송합니다!

개인 프로젝트 중 일부 작업이 제 관심의 상당 부분을 차지했고, 게다가 제가 막 결혼했기 때문에 그것을 핑계로 삼으려고 합니다. 제가 작업한 내용을 보려면 홈 로스트를 추적하는 앱의 개념부터 배포까지 프로세스를 문서화한 Build In Public: Roast 시리즈를 확인하세요.

알았어, 알았어. 자기 홍보는 그만하고 상자를 화면 주위로 옮기는 것으로 돌아가세요!

CodePen을 받으세요!

1부와 마찬가지로 CodePen 템플릿을 따라갈 수 있습니다! 1부를 읽지 않았다면 여기에서 확인하세요. 새 템플릿이 필요하면 여기를 클릭하세요.

디스플레이 속성이란 무엇입니까?

표시 및 위치 속성을 사용하면 웹페이지에 무언가가 나타나는 위치에 동일한 영향을 미치는 것처럼 보일 수 있습니다. 그러나 미묘한 차이가 있습니다. 위치 지정 속성은 해당 요소가 포함된 문서 내에서 요소가 배치되는 방식을 제어합니다. 일반적인 흐름에서, 다른 요소에 상대적으로, 또는 모든 것을 무시합니다!

디스플레이는 레이아웃이 해석되는 방식, 즉 디스플레이 유형에 영향을 미친다는 점에서 다릅니다. CSS의 표시 속성은 적용되는 요소의 표시 유형(외부 표시 유형)을 설정할 뿐만 아니라 요소에 포함된 요소의 표시 동작도 설정하기 때문에 처음에는 약간 부담스럽습니다. (내부 디스플레이 유형)에 적용됩니다.

인라인 대 블록

지금까지 사용한 대부분의 요소에는 기본 외부 표시 유형인 블록이 있습니다. 이는 다른 요소가 해당 요소와 동일한 수직 공간을 차지하지 않음을 의미하며, 사실상 추가된 새 요소는 "새 줄"을 생성합니다.

모든 요소가 이런 것은 아닙니다. 예를 들어

태그는 기본적으로 블록으로 설정되지만 태그는 그렇지 않습니다. 대신에 인라인이므로 새 줄을 만들지 않습니다!

요소의 기본값에 관계없이 다음을 설정하여 이 속성을 변경할 수 있습니다.

display: block
display: inline-block

이제 코드 펜에서 .box 규칙 세트를 변경하여 모든 상자가 나란히 표시되도록 하세요.

I Like to Move It, Move It (Part 2)

Flexbox 및 그리드

내부 디스플레이 유형의 경우 위치를 지정하는 방법에 대한 몇 가지 추가 옵션이 있습니다. 요소를 가변상자나 그리드로 변환할 수 있으며 이는 해당 요소의 하위 요소가 배치되는 방식에 영향을 미칩니다.

디스플레이: 플렉스

이러한 각 개념은 자체적으로 전체 게시물을 작성할 가치가 있지만 기본적으로 플렉스 박스는 상위 요소에 포함된 요소를 인라인으로 "유연하게" 배치합니다. Flexbox는 창을 기준으로 하기보다는 항목을 서로 기준으로 배치하고 포함 요소를 기준으로 배치하므로 다양한 화면 크기에 더 잘 적응합니다.

이 내용을 실제로 보려면 Codepen의 .frame 규칙 세트를 살펴보세요.

다음 코드 줄의 주석 처리를 제거합니다.

display: flex;

I Like to Move It, Move It (Part 2)

4개의 인라인 블록을 갖는 것과 매우 비슷해 보이죠? 기본적으로 플렉스 컨테이너는 해당 항목을 플렉스박스의 시작 부분이나 왼쪽에 정렬하지만 이것도 변경할 수 있습니다!

플렉스박스 선언 아래에 다음을 추가하세요:

justify-content: center;

이제 모든 상자가 화면 중앙에 나타나는 것을 볼 수 있습니다!

I Like to Move It, Move It (Part 2)

하지만 그들이 그렇게 꼭대기에 갇히는 것을 원하지 않는다면 어떻게 될까요? 다음도 추가해 보겠습니다.

align-items: center;

I Like to Move It, Move It (Part 2)

엄청난!

디스플레이: 그리드

참고: CodePen에서 계속 진행하기 전에 추가한 display: flex 및 justify-content 또는 align-items 속성이 포함된 줄을 주석 처리하거나 제거했는지 확인하세요.

플렉스박스 외에도 전체 요소를 그리드로 변환하여 항목을 배치할 수 있는 옵션도 있습니다!

여기서 이 코드에 대해 자세히 설명하지는 않지만 요소를 그리드로 선언하고 그리드 템플릿을 제공한 다음 그리드 내에 항목을 배치하면 가능하다는 점을 알아두세요!

.frame 규칙 세트에서 다음 줄의 주석 처리를 제거하세요!

display: grid;  
  grid-template: 1fr 1fr / 1fr 1fr;
  align-items: center;
  justify-items: center;

이제 프레임의 사분면 중앙에 각 상자가 배치되어 있는 것을 볼 수 있습니다!

I Like to Move It, Move It (Part 2)

새로 찾은 기술을 사용하세요!

지난 기사와 마찬가지로 여기에는 일련의 과제가 있습니다. 시도하기 전에 그리드 레이아웃을 생성하는 코드 줄을 삭제하거나 다시 주석 처리하는 것이 좋습니다!

도전 #1: 올바른 justify-content 속성을 찾기 위해 MDN을 검색하여 각 블록을 아래 그림과 같이 측면과 중앙에 건드리지 않고 수평면에 균등하게 표시하고 수직으로 표시합니다.

I Like to Move It, Move It (Part 2)

챌린지 #2: 아직 플렉스 컨테이너에서 모든 상자를 그룹화하여 오른쪽 하단에 배치할 수 있는지 확인하세요! (이를 위해 어떤 속성을 조정해야 합니까?)

I Like to Move It, Move It (Part 2)

도전 #3: 요소의 표시 순서를 바꾸는 플렉스 속성을 찾을 수 있나요?

I Like to Move It, Move It (Part 2)

챌린지를 완료한 것을 축하합니다! 더 많은 HTML과 CSS를 보려면 다음 주에 만나요!

릴리스 선언문 이 기사는 https://dev.to/nmiller15/i-like-to-move-it-move-it-part-2-4p12?1에서 복제됩니다. 침해가 있는 경우, [email protected]으로 문의하시기 바랍니다. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3