인트로 페이지를 구현하는 도중, 화면을 확대하거나 축소해도 동영상이나 이미지가 화면에 꽉차게 하고 싶었다! 방법은 아주 간단하다. 하지만 매번 헷갈리기 때문에.. 정리해보았다. 아래는 동영상으로 화면 전체를 채운 예시이다~!
728x90
동영상으로 화면 전체 채우기
- 부모에 width 100%, height 100vh 주기
- 자식에 position: absolute, top/left: 50%, transform: translate(-50%, -50%) 주기
- <video> 태그에 object-fit: cover 주기
전체 코드
import React from "react";
import styled from "styled-components";
const Intro = () => {
return (
<Wrapper>
<IntroVideo>
<Video muted autoPlay loop>
<source src="/videos/Preview.mp4" type="video/mp4" />
</Video>
</IntroVideo>
</Wrapper>
)
}
export default Intro;
const Wrapper = styled.div`
width: 100%;
height: 100vh;
position: relative;
`;
const IntroVideo = styled.div`
width: 100%;
height: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
`;
const Video = styled.video`
width: 100%;
height: 100%;
object-fit: cover;
`;
728x90
728x90
'Programming > CSS' 카테고리의 다른 글
[CSS] 선형 그라데이션 효과 넣기 (색깔 밑줄 긋기) (0) | 2022.07.01 |
---|---|
[CSS] Position : relative, absolute 위치 설정하기 (0) | 2022.06.29 |
[CSS] Next.js Image + 화면 아래 가리키는 화살표 애니메이션 (0) | 2022.06.13 |
[CSS] 선택자(Selector) 종류와 사용 방법 (0) | 2022.06.09 |
[CSS] input, button 테두리 없애기 (0) | 2022.05.26 |