온라인 학습 사이트 - 배너 섹션 구현

<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.png)<!-- 이미지 삽입 -->
            user-id
        </div>
    </div>

    <!-- 배너 영역 -->
    <div class="banner">
        <!-- 내부 컨텐츠 영역 -->
        <div class="container">
           
            <div class="submenu">
                - [웹 개발 <span> &gt;</span>](#)
- [데이터 분석 <span> &gt;</span>](#)
- [UI/UX 디자인 <span> &gt;</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;
}

태그: HTML CSS 웹디자인 레이아웃

10월 11일 19:37에 게시됨