찾다
웹 프론트엔드CSS 튜토리얼CSS3의 새로운 단위 vw, vh, vmin 및 vmax를 사용하는 방법

이번에는 새로운 CSS3 유닛인 vw, vh, vmin, vmax를 사용하는 방법을 알려드리겠습니다. 새로운 CSS3 유닛인 vw, vh, vmin, vmax를 사용할 때의 Notes는 무엇인가요? 한 번 살펴보겠습니다.

이 글에서는 CSS3의 새로운 단위 vw, vh, vmin, vmax의 사용에 대한 자세한 설명을 소개하고, 자세한 내용은 다음과 같습니다:

1, vw, vh, vmin, vmax의 의미

(1) vw, vh, vmin, vmax는 창 단위이자 상대 단위입니다. 이는 페이지의 상위 노드나 루트 노드와 관련이 없습니다. 뷰포트의 크기에 따라 결정됩니다. 단위는 1이며 이는 1%와 같습니다.
뷰포트는 브라우저가 실제로 콘텐츠를 표시하는 영역입니다. 즉, 도구 모음과 버튼이 없는 웹 브라우저입니다.

(2) 구체적인 설명은 다음과 같습니다.

vw: 창 너비의 백분율(1vw는 창 너비의 1%를 나타냄)
vh: 창 높이의 백분율
vmin: 현재 vw의 작은 값 and vh
vmax: 현재 vw와 vh의 더 큰 값

2, vw, vh 및 % 백분율의 차이

(1) %는 상위 요소의 크기에 상대적으로 설정된 비율, vw 및 vh는 창의 크기에 따라 결정됩니다.
(2) vw와 vh의 장점은 높이를 직접 얻을 수 있다는 점입니다. 그러나 %를 사용하면 신체 높이를 설정하지 않으면 시각 영역의 높이를 정확하게 얻을 수 없으므로 이는 좋은 장점입니다.

3. vmin 및 vmax 사용

모바일 페이지 개발 시 vw 및 wh를 사용하여 글꼴 크기(예: 5vw)를 설정하면 세로 모드와 가로 모드에서 표시되는 글꼴 크기가 달라집니다.

vmin과 vmax는 현재 더 작은 vw와 vh이고 현재 더 큰 vw와 vh이기 때문입니다. 여기서는 vmin과 vmax를 사용할 수 있습니다. 가로 및 세로 화면 모두에서 텍스트 크기를 일관되게 만듭니다.

4, 브라우저 호환성

(1) 데스크톱 PC

Chrome: 버전 26(2013년 2월)부터 완벽 지원
Firefox: 버전 19(2013년 1월)부터 완벽 지원
Safari: 버전 6.1(2013년 10월)부터 완벽 지원
Opera: 버전 15(2013년 7월)부터 완벽하게 지원됨
IE: IE10(Edge 포함)부터 여전히 부분적으로만 지원되지만(vmax는 지원되지 않음) vm이 vmin을 대체함)

(2) 모바일 장치

Android: 버전 4.4(2013년 12월)부터 완벽 지원
iOS: iOS8 버전(2014년 9월)부터 완벽 지원

2. 간단한 예

1, 페이지 코드

뷰포트 단위는 너비와 높이를 설정하는 데만 사용할 수 있는 것은 아닙니다. 요소이지만 텍스트에도 사용할 수 있습니다. 다음으로 vw를 사용하여 반응형 텍스트를 구현하기 위한 글꼴 크기를 설정합니다.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hangge.com</title>
    <style>
      html, body, div, span, h1, h2, h3 {
        margin: 0;
        padding: 0;
        border: 0;
      }
  
      .demo {
       width: 100vw;
       font-size: 5vw;
       margin: 0 auto;
       background-color: #50688B;
       color: #FFF;
      }
  
      .demo2 {
       width: 80vw;
       font-size: 5vw;
       margin: 0 auto;
       background-color: #ff6a00;
      }
  
      .demo3 {
       width: 50vw;
       height: 50vh;
       font-size: 1vw;
       margin: 0 auto;
       background-color: #ff006e;
       color: #FFF;
      }
    </style>
  </head>
  <body>
      <div class="demo">
          <h1 id="宽度-nbsp-字体">宽度100%, 字体5%</h1>
      </div>
      <div class="demo2">
          <h2 id="宽度-nbsp-字体">宽度80%, 字体5%</h2>
      </div>
      <div class="demo3">
          <h3 id="宽度-nbsp-高度-nbsp-字体">宽度50%, 高度50%, 字体1%</h3>
      </div>
  </body>
</html>

3. 마스크 레이어를 사용하여 완전한 커버리지

때때로 팝업 상자를 강조 표시하거나 페이지 요소가 클릭되는 것을 방지합니다. 전체 가시 영역을 덮는 반투명 마스크가 필요하며 이는 vw 및 vh를 사용하여 쉽게 얻을 수 있습니다.

1, 샘플 코드

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hangge.com</title>
    <style>
      html, body, div, span, button {
        margin: 0;
        padding: 0;
        border: 0;
      }
  
      button {
        width: 120px;
        height: 30px;
        color: #FFFFFF;
        font-family: "微软雅黑";
        font-size: 14px;
        background: #28B995;
      }
  
      #mask {
        width: 100vw;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        background: #000000;
        opacity: 0.5;
        display: none;
      }
    </style>
  </head>
  <body>
      <button onclick="document.getElementById(&#39;mask&#39;).style.display=&#39;inline&#39;">点击显示遮罩</button>
      <div id="mask" onclick="document.getElementById(&#39;mask&#39;).style.display=&#39;none&#39;"/></div>
  </body>
</html>

4. 중앙 팝업 상자 구현

1, 팝업 상자의 크기가 콘텐츠에 맞게 조정됨

(1) 샘플 렌더링

팝업 버튼 클릭 후 을 선택하면 전체 화면에 팝업 상자가 표시됩니다. 화면 중앙에 나타나는 팝업 상자입니다.

팝업 상자의 크기는 콘텐츠(로고 그림)의 크기에 따라 조정되며, 팝업 상자 뒤에 전체 화면을 덮는 반투명 마스크 레이어가 있습니다.

닫기 버튼을 클릭하면 팝업 상자가 숨겨집니다.

(2) 샘플 코드

마스크 레이어는 vw 및 vh를 사용하여 전체 화면 적용 범위를 달성합니다. 팝오버는 마스크 레이어에 추가되고 중앙에 배치됩니다.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hangge.com</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <style>
      html, body, div, span, button {
        margin: 0;
        padding: 0;
        border: 0;
      }
  
      button {
        width: 120px;
        height: 30px;
        color: #FFFFFF;
        font-family: "微软雅黑";
        font-size: 14px;
        background: #28B995;
      }
  
      .dialog-container {
        display: none;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0,0,0,.35);
        text-align: center;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
      }
  
      .dialog-container:after {
        display: inline-block;
        content: &#39;&#39;;
        width: 0;
        height: 100%;
        vertical-align: middle;
      }
  
      .dialog-box {
        display: inline-block;
        border: 1px solid #ccc;
        text-align: left;
        vertical-align: middle;
        position: relative;
      }
  
      .dialog-title {
        line-height: 28px;
        padding-left: 5px;
        padding-right: 5px;
        border-bottom: 1px solid #ccc;
        background-color: #eee;
        font-size: 12px;
        text-align: left;
      }
  
      .dialog-close {
        position: absolute;
        top: 5px;
        right: 5px;
        font-size: 12px;
      }
  
      .dialog-body {
        background-color: #fff;
      }
    </style>
  </head>
  <body>
      <button onclick="$(&#39;#dialogContainer&#39;).show();">点击显示弹出框</button>
      <div id="dialogContainer" class="dialog-container">
          <div class="dialog-box">
              <div class="dialog-title">居中弹出框</div>
              <a onclick="$(&#39;#dialogContainer&#39;).hide();" class="dialog-close">关闭</a>
              <div class="dialog-body">
                <img  class="demo-image lazy"  src="/static/imghwm/default1.png"  data-src="logo.png"    / alt="CSS3의 새로운 단위 vw, vh, vmin 및 vmax를 사용하는 방법" >
              </div>
          </div>
      </div>
  </body>
</html>

2. 창의 크기에 따라 팝업 상자의 크기가 변경됩니다.

(1) 샘플 렌더링

팝업 버튼을 클릭하면 전체 화면 중앙에 팝업 상자가 표시됩니다. .

팝업 상자의 크기는 더 이상 콘텐츠의 크기에 따라 결정되지 않고 창의 크기에 따라 변경됩니다(너비와 높이 모두 화면 표시 영역의 80%).

닫기 버튼을 클릭하면 팝업 상자가 숨겨집니다.

(2) 샘플 코드

마스크 레이어는 vw 및 vh를 사용하여 전체 화면 적용 범위를 달성합니다. 팝업 상자의 크기와 위치도 vw와 vh를 사용하여 설정합니다.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>hangge.com</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <style>
      html, body, div, span, button {
        margin: 0;
        padding: 0;
        border: 0;
      }
  
      button {
        width: 120px;
        height: 30px;
        color: #FFFFFF;
        font-family: "微软雅黑";
        font-size: 14px;
        background: #28B995;
      }
  
      .dialog-container {
        display: none;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0,0,0,.35);
        text-align: center;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
      }
  
      .dialog-box {
        top:10vh;
        left:10vw;
        width: 80vw;
        height: 80vh;
        text-align: left;
        position: absolute;
        border: 1px solid #ccc;
        display: flex;
        flex-direction: column;
      }
  
      .dialog-title {
        line-height: 28px;
        padding-left: 5px;
        padding-right: 5px;
        border-bottom: 1px solid #ccc;
        background-color: #eee;
        font-size: 12px;
        text-align: left;
      }
  
      .dialog-close {
        position: absolute;
        top: 5px;
        right: 5px;
        font-size: 12px;
      }
  
      .dialog-body {
        background-color: #fff;
        flex:1;
        overflow: auto;
      }
    </style>
  </head>
  <body>
      <button onclick="$(&#39;#dialogContainer&#39;).show();">点击显示弹出框</button>
      <div id="dialogContainer" class="dialog-container">
          <div class="dialog-box">
              <div class="dialog-title">居中弹出框</div>
              <a onclick="$(&#39;#dialogContainer&#39;).hide();" class="dialog-close">关闭</a>
              <div class="dialog-body">
                <img  class="demo-image lazy"  src="/static/imghwm/default1.png"  data-src="logo.png"    / alt="CSS3의 새로운 단위 vw, vh, vmin 및 vmax를 사용하는 방법" >
              </div>
          </div>
      </div>
  </body>
</html>

5. 큰 이미지를 표시할 때 최대 크기를 제한합니다.

또한 너무 커서 화면을 초과하지 않도록 뷰 단위를 통해 일부 요소의 최대 너비나 높이를 제한할 수도 있습니다.

(1) 버튼을 클릭하면 화면 중앙에 원본 이미지의 큰 이미지가 표시됩니다.
(2) 이미지의 원래 너비와 높이가 화면 너비와 높이의 90%를 초과하지 않으면 이미지의 기본 크기가 표시됩니다.
(3) 이미지의 원래 너비와 높이가 화면 너비와 높이의 90%를 초과하는 경우 완전히 표시될 수 있도록 화면의 90%로 제한됩니다.

이 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

관련 읽기:

HTML5에서 원 애니메이션 효과를 만드는 방법

H5의 WebGL을 사용하여 동일한 인터페이스에서 json 및 echarts 차트를 만드는 방법

H5의 새로운 의미 태그 기능은 다음과 같아야 합니다.

을 사용하려면

위 내용은 CSS3의 새로운 단위 vw, vh, vmin 및 vmax를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

CSS가있는 커스텀 커서는 훌륭하지만 JavaScript를 사용하여 다음 단계로 가져갈 수 있습니다. JavaScript를 사용하면 커서 상태를 전환하고 커서 내에 동적 텍스트를 배치하고 복잡한 애니메이션을 적용하며 필터를 적용 할 수 있습니다.

Worlds Collide : 스타일 쿼리를 사용한 KeyFrame Collision DetectionWorlds Collide : 스타일 쿼리를 사용한 KeyFrame Collision DetectionApr 23, 2025 am 10:42 AM

2025 년에 서로를 ricocheting하는 요소가있는 대화식 CSS 애니메이션은 CSS에서 Pong을 구현할 필요가 없지만 CSS의 유연성과 힘이 증가하는 것은 LEE의 의심을 강화합니다.

UI 효과를 위해 CSS 배경 필터 사용UI 효과를 위해 CSS 배경 필터 사용Apr 23, 2025 am 10:20 AM

CSS 배경 필터 속성을 사용하여 사용자 인터페이스 스타일에 대한 팁과 요령. 여러 요소들 사이에 필터를 배경으로 배경으로 배경으로하는 방법을 배우고 다른 CSS 그래픽 효과와 통합하여 정교한 디자인을 만듭니다.

미소?미소?Apr 23, 2025 am 09:57 AM

글쎄, SVG '의 내장 애니메이션 기능은 계획대로 이상 사용되지 않았다. 물론 CSS와 JavaScript는 부하를 운반 할 수있는 것 이상이지만 Smil이 이전과 같이 물에서 죽지 않았다는 것을 아는 것이 좋습니다.

'예쁜'은 보는 사람의 눈에 있습니다'예쁜'은 보는 사람의 눈에 있습니다Apr 23, 2025 am 09:40 AM

예, 텍스트-랩을위한 점프 : Safari Technology Preview의 예쁜 착륙! 그러나 Chromium 브라우저에서 작동하는 방식과는 다른 점을 조심하십시오.

CSS- 트릭 연대기 XLIIICSS- 트릭 연대기 XLIIIApr 23, 2025 am 09:35 AM

이 CSS- 트릭 업데이트는 Almanac, 최근 Podcast 출연, 새로운 CSS 카운터 가이드 및 귀중한 컨텐츠에 기여하는 몇 가지 새로운 저자의 추가 진전을 강조합니다.

Tailwind ' s @apply 기능은 소리보다 낫습니다Tailwind ' s @apply 기능은 소리보다 낫습니다Apr 23, 2025 am 09:23 AM

대부분의 경우 사람들은 Tailwind ' S 단일 프로퍼 유틸리티 중 하나 (단일 CSS 선언을 변경)와 함께 Tailwind ' s @apply 기능을 보여줍니다. 이런 식으로 선보일 때 @apply는 전혀 약속하는 소리가 들리지 않습니다. 그래서 Obvio

릴리스가없는 느낌 : 제정신 배치를 향한 여정릴리스가없는 느낌 : 제정신 배치를 향한 여정Apr 23, 2025 am 09:19 AM

바보처럼 배포하는 것은 배포하는 데 사용하는 도구와 복잡성에 대한 보상과 복잡성이 추가됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)