히어로 이미지는 웹 페이지 최상단에 배치되는 대형 배경 이미지로, 방문자의 시선을 사로잡는 역할을 합니다. CSS의 background-image, linear-gradient 등을 활용하면 별도의 이미지 편집 없이도 세련된 히어로 섹션을 손쉽게 구현할 수 있습니다.
아래 예제에서는 배경 이미지 위에 그라데이션 오버레이를 적용하고, 이름과 직업 소개, 연락 버튼이 포함된 히어로 섹션을 만들어 보겠습니다.
예제 코드
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body,
html {
height: 100%;
margin: 0;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
h1 {
font-size: 60px;
font-weight: bolder;
}
.heroContainer {
background-image: linear-gradient( rgba(185, 255, 243, 0.5), rgba(31, 12, 117, 0.5) ),
url("https://images.pexels.com/photos/670720/pexels-photo-670720.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=1000");
height: 50%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
}
.heroCaption {
text-align: center;
position: absolute;
top: 20%;
left: 45%;
color: white;
}
.heroCaption button {
border: none;
outline: none;
display: inline-block;
padding: 20px;
color: rgb(255, 255, 255);
opacity: 0.8;
font-size: 20px;
background-color: rgb(47, 151, 21);
text-align: center;
cursor: pointer;
}
.heroCaption button:hover {
opacity: 1;
}
</style>
</head>
<body>
<div class="heroContainer">
<div class="heroCaption">
<h1>I am Shawn</h1>
<h2>And I'm a Web Developer</h2>
<button>Contact Me</button>
</div>
</div>
</body>
</html>코드 설명
- .heroContainer: linear-gradient()로 반투명 그라데이션을 배경 이미지 위에 겹쳐 가독성을 높였습니다. background-size: cover와 background-position: center를 지정해 화면 크기와 관계없이 이미지가 중앙을 기준으로 꽉 차게 표시됩니다.
- .heroCaption: position: absolute를 사용해 텍스트 캡션을 원하는 위치에 자유롭게 배치했습니다.
- 버튼 스타일: 마우스를 올리면(:hover) 불투명도(opacity)가 1로 변경되어 자연스러운 인터랙션 효과를 줍니다.
출력 결과
위 코드를 실행하면 다음과 같은 히어로 섹션이 화면에 나타납니다.
