<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>온라인 학습 홈 페이지</title>
<link rel="stylesheet" href="study.css">
</head>
<body>
<!--
1. 먼저 컨텐츠 영역의 크기를 설정합니다.
2. 각 행과 열 모듈을 분석하고, 레이아웃 첫 번째 원칙에 따라 정렬합니다.
3. 각 열의 크기를 먼저 결정한 후 위치를 조정합니다. 레이아웃 두 번째 원칙입니다.
4. HTML 구조를 작성할 때는 항상 구조가 먼저 와야 합니다.
5. 레이아웃 구조를 명확히 이해한 후 코드를 작성합니다.
-->
<!-- 헤더 영역 -->
<div class="header container">
<div class="logo">
로고 이미지
</div>
<!-- 네비게이션 바 -->
<div class="nav">
- <a href="">홈</a>
- <a href="">강좌</a>
- <a href="">경력 개발</a>
</div>
<!-- 검색창 -->
<div class="search">
<input type="text" placeholder="키워드 입력">
<button></button>
</div>
<!-- 사용자 프로필 -->
<div class="profile">
<!-- 이미지 삽입 -->
user-id
</div>
</div>
<!-- 배너 영역 -->
<div class="banner">
<!-- 내부 컨텐츠 영역 -->
<div class="container">
<div class="submenu">
- [웹 개발 <span> ></span>](#)
- [데이터 분석 <span> ></span>](#)
- [UI/UX 디자인 <span> ></span>](#)
</div>
<div class="course-list">
<h2>나의 강좌 목록</h2>
<div class="content">
- #### 웹 개발 계속 학습 중
현재 학습 중인 주제: 객체 지향 프로그래밍
- #### 데이터 분석 계속 학습 중
현재 학습 중인 주제: 데이터 시각화
- #### UI/UX 디자인 계속 학습 중
현재 학습 중인 주제: 사용자 경험 설계
<a href="#" class="more">모든 강좌 보기</a>
</div>
</div>
</div>
</div>
</body>
</html>
CSS에서 중요한 부분은 모든 float 요소가 올바르게 처리되어야 한다는 점입니다. 특히, 큰 박스 안에 있는 작은 박스들이 모두 float되어야 합니다.
또한, a 태그는 기본적으로 inline 요소로, width와 height 속성을 직접 적용할 수 없습니다. 이를 해결하기 위해 display: block; 속성을 추가하여 block 요소로 변환해야 합니다.
다음은 CSS 코드 예시입니다:
* {
margin: 0;
padding: 0;
}
/* 레이아웃 스타일 */
.container {
width: 1200px;
margin: auto;
}
body {
background-color: #f3f5f7;
}
.header {
height: 42px;
margin: 30px auto;
}
.logo {
width: 198px;
height: 42px;
float: left;
}
.nav ul li {
list-style: none;
float: left;
margin: 0 15px;
}
.nav ul li a {
display: block;
height: 42px;
padding: 0 10px;
line-height: 42px;
font-size: 18px;
color: black;
text-decoration: none;
}
.nav ul li a:hover{
border-bottom: 2px solid #00a4ff;
color: #00a4ff;
}
.search {
width: 412px;
height: 42px;
float: left;
margin-left: 50px;
}
.search input {
float: left;
width: 345px;
height: 40px;
border: 1px solid #00a4ff;
border-right: none;
padding-left: 15px;
}
.search button {
float: left;
width: 50px;
height: 42px;
background-color:#00a4ff ;
border: none;
}
.profile {
float: right;
line-height: 42px;
margin-right: 30px;
font-size: 14px;
color: #666;
}
.banner {
height: 421px;
background-color: #1c036c;
}
.submenu {
float: left;
width: 190px;
height: 421px;
background-color: rgba(0,0,0,0.3);
}
.submenu ul li {
height: 45px;
line-height: 45px;
padding: 0 20px;
}
.submenu ul li a {
text-decoration: none;
font-size: 14px;
color: #f3f5f7;
}
.submenu ul li a:hover {
color: #00a4ff;
}
.course-list {
float: right;
width:230px;
height: 300px;
background-color: #fff;
margin-top: 50px;
}
.course-list h2 {
height: 48px;
background-color: #9bceea;
text-align:center;
line-height: 48px;
font-size: 18px;
color: #fff;
}
.content {
padding: 0 20px;
}
.content ul li h4 {
font-size: 16px;
color: #4e4e4e;
}
.content ul li {
padding: 14px 0;
border-bottom: 1px solid #ccc;
}
.content ul li p {
font-size: 10px;
color: #8d8a8a;
}
.content .more{
text-decoration: none;
height: 38px;
border: 1px solid #00a4ff;
display: block;
text-align: center;
line-height: 38px;
color: #00a4ff;
font-size: 16px;
font-weight: bold;
}
.content .more:hover {
background-color: #00a4ff;
color: #fff;
}