작성
·
48
1
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>ㅇㅇ</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<header>
<div class="header-logo"></div>
<div class="navi"></div>
</header>
<!-- Slide Animation -->
<div class="slide">
<div>
<a href="#none"><img src="images/slide-01.jpg" alt="slide1"></a>
<a href="#none"><img src="images/slide-02.jpg" alt="slide2"></a>
<a href="#none"><img src="images/slide-03.jpg" alt="slide3"></a>
</div>
</div>
<!-- Slide Animation -->
<div class="items">
<div class="news"></div>
<div class="banner"></div>
<div class="shortcut"></div>
</div>
<footer>
<div class="copyright">
<div></div>
<div></div>
</div>
<div class="family-site"></div>
</footer>
</div>
<script type="text/javascript" src="script/jquery-1.12.4.js"></script>
<script type="text/javascript" src="custom.js"></script>
</body>
</html>
@charset "utf-8";
body {
margin: 0;
font-size: 15px;
color: #333;
/* line-height: 1.6em; */
background-color: #fff;
}
a {
text-decoration: none;
color: #222;
}
.container {
border: 1px solid #ddd;
width: 1200px;
margin: auto;
}
header {
height: 100px;
}
header > div {
border: 1px solid #ddd;
height: 100px;
}
.header-logo {
width: 200px;
float: left;
}
.navi {
width: 600px;
float: right;
}
.slide > div {
border: 1px solid #ddd;
height: 300px;
}
.items {
overflow: hidden;
}
.items > div {
border: 1px solid #ddd;
height: 200px;
float: left;
box-sizing: border-box
}
.news {
width: 500px;
}
.banner {
width: 350px;
}
.shortcut {
width: 350px;
}
footer {
overflow: hidden;
}
footer > div {
height: 100px;
float: left;
box-sizing: border-box;
}
.family-site {
width: 200px;
}
.copyright {
width: 1000px;
}
.copyright div {
border: 1px solid #ddd;
height: 50px;
}
/* Slide Animation */
.slide {
position: relative;
}
.slide div {
border: 1px solid red;
position: absolute;
/* font-size: 0; */
}
강의에는 세로 슬라이드도 font-size 0으로 하면 이미지 사이에 공백(5px)이 제거된다고 하는데 아무리 해도 되지 않더라구요. 오타 있나? 뭐 잘못한 거 있나? 이래저래 1시간 소비했는데
body 태그의 css쪽에 line-height: 1.6em 이거 제거한 뒤에 font-size: 0 을 해야 되던데
line-height 이게 이미지 공백에도 영향을 주나요?
그리고 위에 코드 강사님이 업로드한 코드 그대로 사용한 것인데 강의에서는 line-height 영향을 어떻게 안 받았을까 싶네요.
답변 2
0
인프런 ai가 답변을 잘 해놓았네요.
.slide div a img 를 블록요소로 바꾸시면 됩니다.
.slide div a img가 가지고 있는 인라인블록 성질의 아래쪽 마진인데 .slide div a img 에 display: block 이렇게 주시면 아래쪽 마진이 사라집니다.
0
안녕하세요, 인프런 AI 인턴입니다.
chobo님께서 제출하신 코드는 이미지 슬라이드를 만들면서 font-size: 0;
를 사용하여 이미지 사이의 공백을 없애려는 시도를 하고 계신 것으로 보입니다. 질문에서 언급하신 line-height
는 일반적으로 텍스트 요소의 줄 간격을 조절하는 속성이지만, 이미지와 같은 인라인 요소의 여백에도 영향을 미칠 수 있습니다.
세로 슬라이드에서 이미지 간의 공백이 제거되지 않는 문제의 경우, font-size: 0;
를 사용하면 인라인 수준의 여백을 제거할 수 있습니다. 그러나 요소의 display
속성이나 부모 요소의 스타일 설정이나 불필요한 공백이 있는 경우 문제가 발생할 수 있습니다.
다음은 유사한 질문과 문제 해결 방법을 다룬 자료입니다. 참고하시어 문제를 해결하시기 바랍니다:
font-size: 0;
의 적용 문제에 대해 다루고 있으며, 잘못 적용된 레이아웃의 경우 이미지를 display: block;
으로 처리하여 문제를 해결할 수 있다는 답변이 있습니다.또한, 강사님의 수업에서 line-height
에 관한 언급은 특정 세팅에서 의도적으로 추가하거나 제거함으로써 이미지 간 여백에 영향을 줄 수 있는지를 실험하신 결과일 수 있습니다. 만약 본 코드에서 여전히 문제가 지속된다면, img
태그에 display: block;
을 적용해보시고, 부모 요소의 스타일링을 한 번 더 점검해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
말씀대로 하니까 여백이 사라졌지만 첨부된 그림 파일 보시면 이전 슬라이드 그림이 살짝 보이는데, 혹시 어떻게 없애야 할까요?