아름답게 디자인된 웹사이트를 보고 "저걸 어떻게 만들었지?"라고 궁금해한 적이 있나요? 이제 당신은 CSS 초보자에서 스타일링 슈퍼히어로로 변모할 여정을 시작하게 됩니다.
CSS를 웹 세계의 패션 디자이너라고 생각해보세요. HTML이 구조를 제공하는 반면 CSS는 웹 세계를 멋지게 보이게 만듭니다!
목차
No. | Section | Link |
---|---|---|
1 | Understanding CSS Fundamentals | Understanding CSS Fundamentals |
2 | Selectors and Specificity | Selectors and Specificity |
3 | The Box Model Explained | The Box Model Explained |
4 | Flexbox: Layout Made Easy | Flexbox: Layout Made Easy |
5 | CSS Grid: Two-Dimensional Layouts | CSS Grid: Two-Dimensional Layouts |
CSS 기초 이해
기본부터 시작하겠습니다. CSS(Cascading Style Sheets)는 웹에 생명을 불어넣는 언어입니다. 화가의 팔레트처럼 웹페이지에 색상, 모양 및 시각 효과를 추가할 수 있는 도구를 제공합니다.
구문 기본
기본 CSS 구문은 다음으로 구성됩니다.
- 선택기: 대상 HTML 요소
- 속성: 스타일 지정
- 값: 스타일 지정 방법 정의
selector { property: value; }
CSS를 포함하는 방법
HTML에 CSS를 추가하는 방법에는 세 가지가 있습니다.
- 인라인 CSS: HTML 요소에 직접
- 내부 CSS:
- 외부 CSS: 별도의 .css 파일(권장)
실습: 블로그 게시물 스타일 지정
기본 CSS를 연습하려면 다음 실습을 시도해 보세요.
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
선택자와 특이성
올바른 요소를 타겟팅하려면 선택기를 이해하는 것이 중요합니다. 선택기를 스타일링을 위한 GPS 좌표로 생각하세요. 수정하려는 올바른 요소를 정확하게 탐색하는 데 도움이 됩니다.
고급 선택기 예
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
실습: 특이성 문제
다양한 상태와 특정 수준으로 탐색 메뉴 만들기:
<nav> <pre class="brush:php;toolbar:false">/* Challenge: Style these with increasing specificity */ .nav-link { /* Base styles */ } .nav-item .nav-link { /* More specific */ } #main-nav .nav-list .nav-item .nav-link { /* Most specific */ }
참고자료:
- MDN 웹 문서 - CSS 구문 및 선택기 - CSS 구문, 구조 및 규칙을 이해하기 쉽게 소개합니다.
- W3Schools CSS Basic - 테스트하고 연습할 수 있는 간단한 예제와 라이브 코드 편집기가 포함된 시각적 학습자에게 적합합니다.
- CSS Diner - CSS 선택자를 학습할 수 있는 재미있고 대화형 게임입니다.
박스 모델 설명
웹 디자인의 모든 요소는 CSS 상자 모델을 따릅니다. 이를 요소가 페이지에서 공간을 차지하는 방식에 대한 청사진이라고 생각하세요. 실제 패키지에 콘텐츠, 패딩, 외부 상자가 있는 것처럼 웹 요소도 동일한 원칙을 따릅니다.
박스 모델의 구성요소
- 콘텐츠: 요소의 실제 콘텐츠 영역
- 패딩: 콘텐츠와 테두리 사이의 공간
- 테두리: 패딩을 둘러싸는 선
- 여백: 요소 사이의 공간
.box { width: 300px; padding: 20px; border: 2px solid #333; margin: 10px; }
상자 크기 조정 속성
기본적으로 패딩과 테두리는 요소의 너비/높이에 추가됩니다. 상자 크기 조정: border-box를 사용하면 너비/높이에 패딩과 테두리가 포함되어 더 직관적인 경우가 많습니다.
selector { property: value; }
박스 모델 예: 텍스트 카드
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
실습: 프로파일 상자 생성
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
참고자료:
- MDN 웹 문서 - CSS 박스 모델 - 다이어그램을 사용한 박스 모델 설명. 여백, 테두리, 패딩 및 내용을 다룹니다.
- W3Schools - CSS 상자 모델 - 간단한 시각적 요소로 초보자에게 친숙합니다.
- Web Dev Simplified - 초보자를 위한 박스 모델에 대한 짧고 명확하며 시각적인 설명입니다.
- CSS Tricks - 실제 사용 사례 및 팁과 함께 상자 모델에 대한 잘 문서화된 고급 설명입니다.
Flexbox: 레이아웃이 쉬워졌습니다
Flexbox는 가능한 가장 효율적인 방법으로 콘텐츠를 자동으로 정렬하는 마법의 컨테이너를 갖는 것과 같습니다. 최소한의 노력으로 반응형 레이아웃을 만드는 데 적합합니다.
주요 Flexbox 속성
- 디스플레이: flex: Flexbox 활성화
- flex-direction: 주축(행/열)을 결정합니다
- justify-content: 주축을 따라 항목을 정렬합니다
- align-items: 교차축을 따라 항목을 정렬합니다
- flex-wrap: 항목을 새 줄로 줄바꿈할 수 있는지 여부를 제어합니다.
<nav> <pre class="brush:php;toolbar:false">/* Challenge: Style these with increasing specificity */ .nav-link { /* Base styles */ } .nav-item .nav-link { /* More specific */ } #main-nav .nav-list .nav-item .nav-link { /* Most specific */ }
복잡한 Flexbox 레이아웃
.box { width: 300px; padding: 20px; border: 2px solid #333; margin: 10px; }
실습: 유연한 대시보드
반응형 대시보드 레이아웃 만들기:
* { box-sizing: border-box; }
참고자료:
- MDN 웹 문서 - Flexbox - 명확한 시각적 요소와 실용적인 예제를 갖춘 훌륭한 시작점입니다. 모든 Flexbox 속성을 단계별로 다룹니다.
- W3Schools - CSS Flexbox - Flexbox 속성에 대한 라이브 데모와 따라하기 쉬운 설명이 포함된 간결한 가이드입니다.
- Flexbox Froggy - 개구리를 수련잎으로 안내하여 Flexbox 개념을 연습할 수 있는 재미있는 대화형 게임입니다.
- CSS Tricks - Flexbox에 대한 전체 가이드 - 가장 널리 참조되는 가이드 중 하나이며 모든 Flexbox 속성에 대한 대화형 시각적 치트 시트를 제공합니다.
- FreeCodeCamp - Flexbox 전체 가이드 - 속성과 실제 애플리케이션을 다루며 초보자를 위한 Flexbox에 대한 철저한 설명입니다.
- Smashing Magazine - Flexbox 이해 - 반응형 디자인을 위한 정렬, 순서 및 실제 예를 포함하여 Flexbox를 자세히 설명합니다.
- Flexbox Playground - 대화형 환경에서 Flexbox 속성을 실험해 보세요.
CSS 그리드: 2차원 레이아웃
CSS Grid는 2차원 시스템을 제공하여 레이아웃 제어를 한 단계 더 발전시킵니다. 행과 열에 요소를 정확하게 배치할 수 있는 스프레드시트라고 생각하세요.
그리드 기초
- 디스플레이: 그리드: 그리드 활성화
- grid-template-columns: 열 크기를 정의합니다
- grid-template-rows: 행 크기를 정의
- gap: 그리드 항목 사이의 간격을 설정합니다.
selector { property: value; }
고급 CSS 그리드 기술
CSS 그리드 템플릿 영역을 사용하면 그리드 컨테이너 내에서 명명된 그리드 영역을 정의할 수 있으므로 설명적인 이름을 사용하여 특정 영역에 요소를 할당함으로써 복잡한 레이아웃을 더 쉽게 만들 수 있습니다.
<!-- HTML Structure --> <article> <pre class="brush:php;toolbar:false">/* Your task: Style this blog post */ .blog-post { max-width: 800px; margin: 0 auto; padding: 20px; font-family: 'Arial', sans-serif; } .title { color: #2c3e50; border-bottom: 2px solid #eee; } .meta { color: #666; font-style: italic; } .content p { line-height: 1.6; margin-bottom: 1.5em; }
실습 #4: 매거진 레이아웃
CSS 그리드를 사용하여 잡지 스타일 레이아웃 만들기:
/* Attribute selector with partial match */ [class*="btn-"] { padding: 10px 20px; border-radius: 4px; } /* Nth-child selections */ li:nth-child(odd) { background-color: #f5f5f5; } /* Combining multiple selectors */ input[type="text"]:focus, input[type="email"]:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); }
참고자료:
- MDN 웹 문서 - CSS 그리드 - CSS 그리드의 기본 개념을 다루는 초보자 친화적인 가이드입니다.
- W3Schools - CSS 그리드 레이아웃 - 대화형 코드 편집기를 사용하여 간단하고 따라하기 쉬운 예제를 통해 그리드 개념을 연습할 수 있습니다.
- 그리드 가든(Grid Garden) - CSS 그리드 속성을 연습하여 정원을 가꾸는 재미있고 매력적인 게임입니다.
- CSS Tricks - 그리드 전체 가이드 - 모든 CSS 그리드 속성에 대한 훌륭한 시각적 참조와 예제가 포함되어 있습니다.
- Kevin Powell - 쉬운 방법으로 CSS Grid 배우기 - 초보자를 위한 CSS Grid에 대한 빠르고 시각적인 집중 강좌입니다.
- developmentbyed - CSS Grid Crash Course - CSS Grid의 모든 측면을 다루는 상세하고 초보자 친화적인 튜토리얼입니다.
- 예시별 그리드 - 각 사용 사례에 대한 설명이 포함된 실제 그리드 레이아웃 예시 모음입니다.
구축할 시간입니다! ?
이제 학습한 내용을 실제로 적용할 차례입니다! 귀하의 과제는 다음과 같습니다.
- 새 CodePen 만들기(codepen.io에서 무료)
- 우리가 다룬 예제와 연습을 구축하세요
- 당신의 창작물을 공유하세요! 아래 댓글에 CodePen 링크를 남겨주세요
보너스 포인트: 디자인에 자신만의 창의적인 변형을 추가하세요! 댓글에 공유된 모든 CodePen을 직접 검토하고 답변해 드리겠습니다.
? 프로 팁: CSS에 주석을 추가하여 자신의 생각을 설명하는 것을 잊지 마세요. 다른 사람들이 귀하의 코드를 배우는 데 도움이 됩니다!
다음은 무엇입니까? ?
CSS Zero to Hero 시리즈의 1부입니다. 우리는 다음 게시물에서 더 흥미로운 CSS 개념에 대해 더 깊이 알아볼 것입니다. 놓치지 않으려면:
- ? 이 게시물을 북마크 코딩할 때 빠르게 참고할 수 있습니다
- ❤️ 이 글에 좋아요 도움이 되셨다면 (다른 분들도 찾는 데 도움이 됩니다!)
- ? 시리즈의 다음 부분을 보려면 저를 팔로우하세요
연결하자! ?
연습을 해 보셨나요? 질문이 있으신가요? 댓글로 여러분의 경험을 공유해주세요! 나는 모든 댓글에 응답하고 귀하의 진행 상황을 지켜보는 것을 좋아합니다.
2부에서 만나요! 즐거운 코딩하세요! ????
위 내용은 모두를 위한 확실한 CSS 가이드에서 CSS 마스터하기 | 파트 1의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

@keyframesispopularduetoitstativerstatility 및 powerincreatingsmoothcssanimations.keytricksinclude : 1) states 사이에 moothtransitionsbettites, 2) 애니메이션 multiplepropertiessimultory, 3) vendorPixesforBrowsercompatibility, 4) 빗질을 사용하여

csScounterSearedTomanageAutomaticNumberingInberingInwebDesigns.1) 1) theCanbeusedfortablestoffContents, ListItems 및 CustomNumbering.2) AdvancedUsesInSinestedNumberingsystems.3) CreativeUseNvolvecust를 CreativeSinvolecust.4) CreativeSinvolvecust

특히 모바일 장치에 스크롤 그림자를 사용하는 것은 Chris가 이전에 다룬 미묘한 UX입니다. Geoff는 애니메이션 타임 라인 속성을 사용하는 새로운 접근 방식을 다루었습니다. 또 다른 방법이 있습니다.

빠른 새로 고침을 통해 실행합시다. 이미지 맵은 html 3.2로 돌아가는데, 먼저 서버 측 맵과 클라이언트 측지 맵은 맵 및 영역 요소를 사용하여 이미지를 통해 클릭 가능한 영역을 정의했습니다.

Devs State Survey는 이제 참여에 개방되어 있으며, 이전 설문 조사와 달리 코드, 직장, 건강, 취미 등을 제외한 모든 것을 포함합니다.

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기