Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS만으로 히어로 이미지(Hero Image) 만드는 방법

히어로 이미지는 웹 페이지 최상단에 배치되는 대형 배경 이미지로, 방문자의 시선을 사로잡는 역할을 합니다. 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: coverbackground-position: center를 지정해 화면 크기와 관계없이 이미지가 중앙을 기준으로 꽉 차게 표시됩니다.
  • .heroCaption: position: absolute를 사용해 텍스트 캡션을 원하는 위치에 자유롭게 배치했습니다.
  • 버튼 스타일: 마우스를 올리면(:hover) 불투명도(opacity)가 1로 변경되어 자연스러운 인터랙션 효과를 줍니다.

출력 결과

위 코드를 실행하면 다음과 같은 히어로 섹션이 화면에 나타납니다.

CSS만으로 히어로 이미지(Hero Image) 만드는 방법