21강 네이버 뉴스 2
html
<main role="main" id="news-main">
<div class="news-container">
<div class="news-left">
<div class="news-main-wrap">
<div class="news-main-header news-flex-between">
<div class="news-main-header-left news-flex-start">
<h3><a href="#">정치</a></h3>
<ul class="news-flex-start">
<li><a href="#">일반</a></li>
<li><a href="#">국회/정당</a></li>
<li><a href="#">청와대</a></li>
</ul>
</div>
<div class="news-main-header-right news-flex-end">
<i class="icon-1"></i>
<i class="icon-2"></i>
<i class="icon-3"></i>
</div>
</div>
<div class="news-main-body">
<div class="image-wrap">
<img src="https://via.placeholder.com/220x140">
<h4>[단독] 장병 급식 </h4>
</div>
<ul class="news-lists">
<li><a href="#">title1</a><span>국민일보</span></li>
<li><a href="#">title2</a><span>한겨레</span></li>
<li><a href="#">title1</a><span>중앙일보</span></li>
<li><a href="#">title1</a><span>매일경제</span></li>
<li><a href="#">title1</a><span>뉴시스</span></li>
</ul>
</div>
</div>
<div class="news-right">
<h2>asdf</h2>
</div>
</div>
</main>
css
#news-main .news-left .news-main-wrap {
padding-top: 25px;
padding-bottom: 25px;
border-bottom: solid 1px #dedede;
}
#news-main .news-left .news-main-wrap .news-main-header {
margin-bottom: 14px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left {
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left h3 {
margin-right: 12px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left h3 a{
font-size: 20px;
font-weight: bold;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left a {
font-size: 13px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left ul {
margin-top: -2px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left li a:before {
content: '';
display: inline-block;
width: 1px;
height: 10px;
background-color: #e5e5e5;
margin: 0 8px;
vertical-align: -1px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-left li:first-child a:before {
content: none;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-right i {
display: block;
width: 24px;
height: 20px;
margin-left: 8px;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-right i.icon-1 {
background-color: yellow;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-right i.icon-2 {
background-color: pink;
}
#news-main .news-left .news-main-wrap .news-main-header .news-main-header-right i.icon-3 {
background-color: grey;
}
어려웠던 점
<div class="news-main-header news-flex-between">
이 코드에서는
</div> 가 없다.
해결 방법
네이버 소스의 강사님 파일을 봐도 없어서 원래 없어도 되는건지 잘 모르겠다.
css
#news-main .news-left .news-main-wrap .news-main-body {
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap {
width: 220px;
margin-right: 25px;
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap img {
width: 100%;
height: 140px;
border: solid 1px #000000;
margin-bottom: 6px;
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap h4 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 14px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists {
width: 430px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li {
margin-bottom: 11px;
font-size: 20px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li a {
display: inline-block;
max-width: 360px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
vertical-align: middle;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li span {
font-size: 12px;
color: #888888;
vertical-align: middle;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li span:before {
content: '';
position: relative;
display: inline-block;
width: 14px;
height: 11px;
background-color: grey;
margin: 0 4px;
top: 1px;
}
html
<div class="news-main-body news-flex-start">
<div class="image-wrap">
<img src="https://via.placeholder.com/220x140">
<h4>[단독] 장병 급식 장병 급식 장병 급식 장병 급식 </h4>
</div>
<ul class="news-lists">
<li><a href="#">title1 title1 title1 title1 title1 title1 title1 title1 title1</a><span>국민일보</span></li>
<li><a href="#">title2</a><span>한겨레</span></li>
<li><a href="#">title1</a><span>중앙일보</span></li>
<li><a href="#">title1</a><span>매일경제</span></li>
<li><a href="#">title1</a><span>뉴시스</span></li>
</ul>
</div>
</div>
</div>
css
#news-main .news-left .news-main-wrap .news-main-body {
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap {
width: 220px;
margin-right: 25px;
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap img {
width: 100%;
height: 140px;
border: solid 1px #000000;
margin-bottom: 6px;
}
#news-main .news-left .news-main-wrap .news-main-body .image-wrap h4 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 14px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists {
width: 430px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li {
margin-bottom: 11px;
font-size: 20px;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li a {
display: inline-block;
max-width: 360px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
vertical-align: middle;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li span {
font-size: 12px;
color: #888888;
vertical-align: middle;
}
#news-main .news-left .news-main-wrap .news-main-body .news-lists li span:before {
content: '';
position: relative;
display: inline-block;
width: 14px;
height: 11px;
background-color: grey;
margin: 0 4px;
top: 1px;
}
css
#news-main .news-left .news-main-wrap.news-custome .news-main-header ul li a {
cursor: default;
}
#news-main .news-left .news-main-wrap.news-custome .news-main-header ul li:first-child a:before {
content: '';
display: inline-block;
width: 1px;
height: 10px;
background-color: #e5e5e5;
margin: 0 8px 0 0;
vertical-align: -1px;
}
css
#news-main .news-left .news-main-wrap.news-custome .news-main-body .news-lists {
width: 390px;
}
#news-main .news-left .news-main-wrap.news-custome .news-main-body .news-lists li a {
vertical-align: middle;
width: 360px;
max-width: initial;
}
#news-main .news-left .news-main-wrap.news-custome .news-main-body .news-lists li i {
display: inline-block;
width: 22px;
height: 16px;
background-color: black;
vertical-align: middle;
}
html
<div class="news-right">
<div id="news-popular">
<div class="news-popular-header news-flex-between">
<div>
<h3>언론사별 가장 많이 본 뉴스</h3>
<p>오후 11시 ~ 오전 12시까지 집계한 결과입니다.</p>
</div>
<span>더보기</span>
</div>
<ul class="news-popular-lists">
<li class="news-flex-between">
<div class="news-popular-info">
<h4><a href="#">무죄가 뒤집혀졌다. 무죄가 뒤집혀졌다. 무죄가 뒤집혀졌다.</a></h4>
<i></i><span>경향신문</span>
</div>
<img src="https://via.placeholder.com/88x60">
</li>
</ul>
</div>
</div>
css
#news-main .news-right #news-popular {
margin-bottom: 30px;
}
#news-main .news-right #news-popular .news-popular-header {
align-items: flex-start;
margin-bottom: 10px;
}
#news-main .news-right #news-popular .news-popular-header h3 {
font-size: 14px;
}
#news-main .news-right #news-popular .news-popular-header p {
font-size: 12px;
}
#news-main .news-right #news-popular .news-popular-header span {
color: #7d7d7d;
font-size: 14px;
cursor: pointer;
}
#news-main .news-right #news-popular .news-popular-lists {
}
#news-main .news-right #news-popular .news-popular-lists li {
padding: 6px 0;
}
#news-main .news-right #news-popular .news-popular-lists li .news-popular-info {
width: 202px;
border-bottom: solid 1px #e3e3e3;
padding-bottom: 6px;
}
#news-main .news-right #news-popular .news-popular-lists li .news-popular-info h4 {
font-size: 13px;
margin-bottom: 5px;
}
#news-main .news-right #news-popular .news-popular-lists li .news-popular-info h4 a {
}
#news-main .news-right #news-popular .news-popular-lists li .news-popular-info i {
display: inline-block;
width: 16px;
height: 16px;
background-color: grey;
border-radius: 50%;
vertical-align: middle;
margin-right: 5px;
}
#news-main .news-right #news-popular .news-popular-lists li .news-popular-info span {
position: relative;
font-size: 12px;
color: #888888;
vertical-align: middle;
top: 2px;
}
#news-main .news-right #news-popular .news-popular-lists li img {
}
html
<div class="news-banner"></div>
<div id="news-today">
<div class="news-today-header news-flex-start">
<h3>TODAY</h3>
<span>05.21 (금)</span>
</div>
<div class="news-today-body">
<ul class="news-notice-lists">
<li>
<h4>공지</h4>
<p>뉴스홈 헤드라인 비로그인 추천 변경</p>
</li>
<li>
<h4>날씨</h4>
<p>실시간 기상 정보 확인하기</p>
</li>
<li>
<h4>운세</h4>
<p>오늘의 띠별 운세 확인하기</p>
</li>
</ul>
<div class="news-stock-wrap">
<ul class="news-stock-lists news-flex-between">
<li>
<span>코스피</span>
<h3>3,162.28</h3>
<em class="down">10.77</em>
</li>
<li>
<span>코스닥</span>
<h3>971.13</h3>
<em class="up">2.03</em>
</li>
</ul>
<div class="news-stock-search-wrap news-flex-between">
<input type="" placeholder="종목 검색">
<button type="button" class="btn-search"></button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<div id="news-nav-bottom">
<div class="news-container news-flex-between">
<ul class="news-flex-start">
<li><a href="#">언론사 목록</a></li>
<li><a href="#">분야별 목록</a></li>
</ul>
<a href="#">마이스크랩</a>
</div>
</div>
css
#news-main .news-right .news-banner {
width: 300px;
height: 250px;
background-color: #000000;
border: solid 1px #e3e3e3;
margin-bottom: 30px;
}
#news-main .news-right #news-today {
}
#news-main .news-right #news-today .news-today-header {
margin-bottom: 11px;
}
#news-main .news-right #news-today .news-today-header h3 {
font-size: 14px;
}
#news-main .news-right #news-today .news-today-header span {
font-size: 12px;
}
#news-main .news-right #news-today .news-today-header span:before {
content: '';
display: inline-block;
width: 1px;
height: 10px;
background-color: #e5e5e5;
margin: 0 7px;
vertical-align: -1px;
}
#news-main .news-right #news-today .news-today-body {
padding: 13px 20px 20px;
border: 1px solid #e8e8e8;
}
#news-main .news-right #news-today .news-today-body .news-notice-lists {
}
#news-main .news-right #news-today .news-today-body .news-notice-lists li {
border-bottom: solid 1px #f2f2f2;
padding-bottom: 12px;
margin-bottom: 12px;
}
#news-main .news-right #news-today .news-today-body .news-notice-lists li:last-child {
margin-bottom: 0;
}
#news-main .news-right #news-today .news-today-body .news-notice-lists li h4 {
display: inline-block;
font-size: 12px;
vertical-align: middle;
margin-right: 8px;
}
#news-main .news-right #news-today .news-today-body .news-notice-lists li p {
display: inline-block;
font-size: 12px;
vertical-align: middle;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists {
padding: 10px 0 7px;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists li {
width: 50%;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists li:last-child {
padding-left: 20px;
border-left: solid 1px #f2f2f2;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists span {
font-size: 12px;
color: #777777;
margin-bottom: 8px;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists h3 {
font-size: 24px;
margin-bottom: 5px;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists em {
font-style: normal;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists em.down {
color: #066fd1;
}
#news-main .news-right #news-today .news-today-body .news-stock-lists em.up {
color: #fe4638;
}
#news-main .news-right #news-today .news-today-body .news-stock-search-wrap {
width: 100%;
height: 30px;
border: solid 1px #f2f2f2;
}
#news-main .news-right #news-today .news-today-body .news-stock-search-wrap input {
width: calc(100% - 30px);
height: 100%;
background-color: #ffffff;
border: none;
padding: 3px 9px;
}
#news-main .news-right #news-today .news-today-body .news-stock-search-wrap input:focus {
outline: none;
}
#news-main .news-right #news-today .news-today-body .news-stock-search-wrap button {
width: 30px;
height: 100%;
background-color: black;
}
#news-nav-bottom {
border-top: solid 1px #dfdfdf;
border-bottom: solid 1px #e3e7ee;
padding: 15px 0;
}
#news-nav-bottom li {
margin-right: 10px;
}
학습 소감
네이버 사이트가 완성이 되어가는데 나는 숙달하지 못한 것 같아서 아쉬운 마음이 크다 ㅠㅠ ...