>웹 프론트엔드 >CSS 튜토리얼 >CSS 뷰포트 단위 vh 및 vmin을 사용하여 미디어 쿼리를 생성하기 위한 팁

CSS 뷰포트 단위 vh 및 vmin을 사용하여 미디어 쿼리를 생성하기 위한 팁

PHPz
PHPz원래의
2023-09-13 11:18:28969검색

使用 CSS Viewport 单位 vh 和 vmin 创建媒体查询的技巧

CSS 뷰포트 단위 vh 및 vmin을 사용하여 미디어 쿼리를 생성하기 위한 팁

모바일 장치의 인기로 인해 반응형 디자인은 현대 웹 디자인의 필수 기술이 되었습니다. 다양한 화면 크기에 적응하려면 개발자는 미디어 쿼리를 통해 레이아웃과 스타일을 조정해야 합니다. 미디어 쿼리에서 가장 일반적으로 사용되는 단위는 픽셀(px)입니다. 그러나 CSS3에서는 다양한 장치 크기에 더 잘 적응할 수 있는 새로운 창 단위인 vh 및 vmin을 도입했습니다. 이 문서에서는 특정 코드 예제와 함께 vh 및 vmin 단위를 사용하여 미디어 쿼리를 생성하는 방법을 설명합니다.

먼저 vh와 vmin 단위의 의미를 이해해 봅시다. vh는 창 높이의 백분율을 나타내고, vmin은 창 너비와 높이 중 작은 값을 나타냅니다. 예를 들어 뷰포트의 높이가 800px이고 너비가 1200px인 경우 1vh는 8px(800 0.01)와 같고 1vmin은 8px(800 0.01)과 같습니다. 이 두 단위는 요소의 크기, 여백, 글꼴 크기 등을 설정하는 데 사용할 수 있습니다.

다음으로 vh 및 vmin 단위를 사용하여 미디어 쿼리를 생성하는 방법을 다루겠습니다. 뷰포트 높이가 600px 미만일 때 요소의 스타일을 변경한다고 가정해 보겠습니다. 다음 코드를 사용할 수 있습니다.

@media (max-height: 600px) {
  .element {
    /* 设置需要改变的样式 */
  }
}

그러나 vh 단위를 사용하면 동일한 효과를 더 간결하게 얻을 수 있습니다.

@media (max-height: 60vh) {
  .element {
    /* 设置需要改变的样式 */
  }
}

이 예에서는 뷰포트 높이가 다음보다 작거나 같을 때 .element 스타일이 적용됩니다. 60%. 이러한 방식으로 뷰포트의 크기에 따라 스타일을 보다 유연하게 조정할 수 있습니다.

미디어 쿼리 외에도 vh 및 vmin 단위를 사용하여 요소의 크기를 설정할 수도 있습니다. 예를 들어, 요소의 높이가 항상 뷰포트 높이의 50%와 같기를 원한다면 다음 코드를 사용할 수 있습니다:

.element {
  height: 50vh;
}

마찬가지로 요소의 여백이 항상 더 작은 높이와 같도록 하려면 10%의 경우 다음 코드를 사용할 수 있습니다.

.element {
  margin: 10vmin;
}

vh 및 vmin 단위를 사용하면 고정 픽셀 단위를 사용하지 않고도 반응형 디자인을 쉽게 구현할 수 있습니다. 이를 통해 레이아웃이 더 유연해질 뿐만 아니라 다양한 장치 화면 크기에 더 잘 적응할 수 있습니다.

vh 및 vmin 단위를 사용하는 코드를 작성할 때 고려해야 할 몇 가지 사항이 있습니다. 첫째, VH 단위에는 모바일 장치에 스크롤 막대가 나타날 수 있으므로 요소의 스타일이 스크롤 막대에 의해 가려지지 않도록 해야 합니다. 둘째, 일부 브라우저는 vh 및 vmin 단위를 지원하지 않을 수 있으며, 특히 이전 버전의 브라우저는 더욱 그렇습니다. 따라서 이러한 장치를 사용할 때 호환성 검사를 수행하고 대체 옵션을 제공해야 합니다.

요약하자면 CSS 뷰포트 유닛 vh 및 vmin을 사용하면 반응형 디자인을 위한 미디어 쿼리를 쉽게 생성할 수 있습니다. 요소의 크기와 스타일을 설정하여 창 크기에 따라 레이아웃을 조정하고 웹 페이지가 다양한 장치에서 좋은 사용자 경험을 제공하도록 만들 수 있습니다. 그러나 이러한 단위를 사용할 때는 호환성에 주의를 기울이고 다양한 브라우저와 장치에서 페이지가 올바르게 표시되도록 해결 방법을 제공해야 합니다.

위 내용은 CSS 뷰포트 단위 vh 및 vmin을 사용하여 미디어 쿼리를 생성하기 위한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.