[HTML/CSS] 14. 전체 실습
Mar 12, 2025
1. inblog 만들기
1. 문제 분석



2. 뼈대 만들기
<!DOCTYPE html>
<html lang="en">
<head>
<style>
div{
border : 1px solid black;
}
.root{
display: flex;
justify-content: center;
}
.container{
width: 80%;
}
</style>
</head>
<body>
<div class="root">
<div class="container">
<div class="nav">
<div class="logo">로고</div>
<div class="search">검색</div>
</div>
<div class="header">
<div class="h-title">jay0628</div>
<div class="h-content">Welcome to the jay0628 blog!</div>
</div>
<div class="menu">
<div class="m-item">See All</div>
<div class="m-item">환경세팅</div>
<div class="m-item">컴퓨터사이언스</div>
<div class="m-item">자바</div>
</div>
<div class="recent">
<div class = "r-img">이미지</div>
<div class = "r-info">
<div class = "r-title">최신글제목</div>
<div class = "r-footer">최신글정보</div>
</div>
</div>
<div class="blog-list">
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">블로그하단</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">블로그하단</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">블로그하단</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">블로그하단</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">블로그하단</div>
</div>
</div>
</div>
</div>
</body>
</html>

3. 레이아웃
flex로 나누면 자식 잡아서 ~ㅐ야하니까 grid로 나누면 비율 살려서 나누기 좋다
<!DOCTYPE html>
<html lang="en">
<head>
<style>
div{
border : 1px solid black;
padding: 5px;
}
.root{
display: flex;
justify-content: center;
}
.container{
width: 80%;
}
.nav{
display: flex;
justify-content: space-between;
}
.menu{
display: flex;
}
.recent{
display: grid;
grid-template-columns: 5fr 4fr;
}
.blog-list{
display: grid;
grid-template-columns: 1fr 1fr;
}
.r-footer{
display: flex;
}
.r-info{
display: flex;
flex-direction: column;
justify-content: space-between;
}
/* 이미지 높이가 커야 최신글제목과 최신글하단의 위치가 위와 아래로 설정하기 전 확인 편리
.r-img{
height: 300px;
}*/
.b-footer{
display: flex;
}
</style>
</head>
<body>
<div class="root">
<div class="container">
<div class="nav">
<div class="logo">로고</div>
<div class="search">검색</div>
</div>
<div class="header">
<div class="h-title">jay0628</div>
<div class="h-content">Welcome to the jay0628 blog!</div>
</div>
<div class="menu">
<div class="m-item">See All</div>
<div class="m-item">환경세팅</div>
<div class="m-item">컴퓨터사이언스</div>
<div class="m-item">자바</div>
</div>
<div class="recent">
<div class = "r-img">이미지</div>
<div class = "r-info">
<div class = "r-title">최신글제목</div>
<div class = "r-footer">
<div class="circle-img">서클이미지</div>
<div class="date">날짜</div>
<div class="category">카테고리제목</div>
</div>
</div>
</div>
<div class="blog-list">
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">
<div class="circle-img">서클이미지</div>
<div class="date">날짜</div>
<div class="category">카테고리제목</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">
<div class="circle-img">서클이미지</div>
<div class="date">날짜</div>
<div class="category">카테고리제목</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">
<div class="circle-img">서클이미지</div>
<div class="date">날짜</div>
<div class="category">카테고리제목</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">블로그사진</div>
<div class="b-title">블로그제목</div>
<div class="b-footer">
<div class="circle-img">서클이미지</div>
<div class="date">날짜</div>
<div class="category">카테고리제목</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

4. CSS
menu의 각 항목 버튼으로 만들어뒀는데 버튼 빼고 a태그 써서 하이퍼링크로 수정필요!
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
<style>
div{
padding: 5px;
}
.root{
display: flex;
justify-content: center;
}
.container{
width: 80%;
}
.nav{
display: flex;
justify-content: space-between;
}
.logo{
display: flex;
}
.logo-img{
width: 100px;
}
.logo-id{
font-weight: bold;
}
.search-btn{
border: none;
background-color: rgba(0, 0, 0, 0);
color: rgb(0, 0, 0);
border-radius: 5px;
padding: 5px;
width: 30px;
height: 30px;
cursor: pointer;
}
/* .header{} */
.h-title{
font-size: 50px;
font-weight: bold;
margin-top : 100px;
}
.h-content{
font-size: 20px;
font-weight: 500;
margin-top : 10px;
height: 200px;
}
.menu{
display: flex;
}
.m-btn{
border: none;
background-color: rgba(0, 0, 0, 0);
font-size: 15px;
font-weight: 550;
cursor: pointer;
}
.recent{
display: grid;
grid-template-columns: 5fr 4fr;
}
.r-title{
font-size: 40px;
font-weight: 900;
}
.r-item-img{
width: 100%;
height: 100%;
object-fit: cover;
}
.r-footer{
display: flex;
}
.circle-item-img{
width: 25px;
height: 25px;
object-fit: cover;
}
.r-info{
display: flex;
flex-direction: column;
justify-content: space-between;
}
.blog-list{
display: grid;
grid-template-columns: 1fr 1fr;
}
.b-title{
font-size: 35px;
font-weight: 700;
}
.b-footer{
display: flex;
margin-top: 40px;
}
</style>
</head>
<body>
<div class="root">
<div class="container">
<div class="nav">
<div class="logo">
<div>
<img src="img/logo.webp" class="logo-img">
</div>
<div class="logo-id">jay0628</div>
</div>
<div class="search">
<button class="search-btn">
<i class='fas fa-search style='font-size:24px' ></i>
</button>
</div>
</div>
<div class="header">
<div class="h-title">jay0628</div>
<div class="h-content">Welcome to the jay0628 blog!</div>
</div>
<div class="menu">
<div class="m-item">
<button class="m-btn">See All</button>
</div>
<div class="m-item">
<button class="m-btn">환경세팅</button>
</div>
<div class="m-item">
<button class="m-btn">컴퓨터사이언스</button>
</div>
<div class="m-item">
<button class="m-btn">자바</button>
</div>
</div>
<div class="recent">
<div class = "r-img">
<img src="img/htmlimage.png" class="r-item-img">
</div>
<div class = "r-info">
<div class = "r-title">[CSS] 7. Grid-Layout</div>
<div class = "r-footer">
<div class="circle-img">
<img src="img/profile.webp"class="circle-item-img">
</div>
<div class="date">Mar 10, 2025</div>
<div class="category">HTML/CSS</div>
</div>
</div>
</div>
<div class="blog-list">
<div class="blog-item">
<div class="b-img">
<img src="img/htmlimage.png" class="r-item-img">
</div>
<div class="b-title">[CSS] 6. Flex</div>
<div class="b-footer">
<div class="circle-img">
<img src="img/profile.webp"class="circle-item-img">
</div>
<div class="date">Mar 10, 2025</div>
<div class="category">HTML/CSS</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">
<img src="img/htmlimage.png" class="r-item-img">
</div>
<div class="b-title">[CSS] 5. CSS Display</div>
<div class="b-footer">
<div class="circle-img">
<img src="img/profile.webp"class="circle-item-img">
</div>
<div class="date">Mar 10, 2025</div>
<div class="category">HTML/CSS</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">
<img src="img/htmlimage.png" class="r-item-img">
</div>
<div class="b-title">[CSS] 4. CSS 선택자</div>
<div class="b-footer">
<div class="circle-img">
<img src="img/profile.webp"class="circle-item-img">
</div>
<div class="date">Mar 10, 2025</div>
<div class="category">HTML/CSS</div>
</div>
</div>
<div class="blog-item">
<div class="b-img">
<img src="img/htmlimage2.png" class="r-item-img">
</div>
<div class="b-title">[html] 3. 학교 시간표 만들기</div>
<div class="b-footer">
<div class="circle-img">
<img src="img/profile.webp"class="circle-item-img">
</div>
<div class="date">Mar 10, 2025</div>
<div class="category">HTML/CSS</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>


Share article