>  기사  >  웹 프론트엔드  >  실제 전투에서 CSS를 사용하는 팁 공유

실제 전투에서 CSS를 사용하는 팁 공유

php中世界最好的语言
php中世界最好的语言원래의
2018-05-24 16:01:411395검색

이번에는 실제 전투에서 CSS를 사용하는 기술을 공유하겠습니다. 실제 전투에서 CSS를 사용할 때 주의사항은 무엇인가요?

클리핑 애니메이션 만들기

클리핑 애니메이션의 경우 너비/높이 대신 클립 경로를 사용하여 DOM 재배열로 인해 성능이 저하되는 것을 방지하세요.

.animate {
  width: 200px;
  height: 200px;
  background: #000;
  animation: 1s clip;
}
@keyframes clip {
  0% {
      clip-path: inset(0 0 0 0);
  }
  100% {
      clip-path: inset(0 100% 100% 0);
  }
}

clip-path는 다른 일반/불규칙한 그래픽을 잘라내는 데도 사용할 수 있습니다.

.clip {
  clip-path: polygon(0 100%, 50% 0, 100% 100%, 0 30%, 100% 30%); /* 多边形 */
  clip-path: circle(30px at 35px 35px); /* 圆形 */
  clip-path: ellipse(30px 25px at 35px 35px); /* 椭圆 */
}

애니메이션 성능 최적화

transform3d를 사용하여 GPU 가속을 활성화하는 것 외에도 will-change를 사용하여 GPU 가속을 강제하여 애니메이션 성능을 최적화할 수도 있습니다.

.animate {
  width: 200px;
  height: 200px;
  background: #000;
  animation: 1s clip;
  will-change: clip-path;
}
@keyframes clip {
  0% {
      clip-path: inset(0 0 0 0);
  }
  100% {
      clip-path: inset(0 100% 100% 0);
  }
}

종횡비를 얻으려면

패딩 시뮬레이션을 사용한 다음 하위 요소의 절대 위치 지정

/* 1:1 */
.container {
  width: 200px;
}
.container:after {
  display: block;
  content: ' ';
  padding-top: 100%;
}
/* 16:9 */
.container {
  width: 200px;
}
.container:after {
  display: block;
  content: ' ';
  padding-top: calc(100% * 9 / 16);
}

수직 중심

일반적으로 사용되는 방법:

  • dislay: inline-block

  • 상단: 50% + 변환: tranlsateY(-50%)

  • display: flex

기타에는 위 및 아래 패딩 지원, display: table, <a href="//m.sbmmt.com/wiki/902.html" target="_blank">position<code>padding上下撑高display: table<a href="//m.sbmmt.com/wiki/902.html" target="_blank">position</a> + margin: auto绝对定位 + margin等等,这些属于不常用、特殊场景才能用、CSS3之前的hack方式,CSS3之后就不必使用这些来实现垂直居中,就不多说了。

其中display: flex + 여백: 자동, 절대 위치 지정 + 여백 code> 등은 일반적으로 사용되지 않고 특수한 시나리오에서만 사용할 수 있으며 CSS3 이전의 해킹 방법입니다. CSS3 이후에는 수직 센터링을 달성하기 위해 이것을 사용할 필요가 없으므로 사용하지 않겠습니다. 자세히 살펴보세요.

    그 중 display: flex는 뱀기름입니다. 대부분의 시나리오에서 직접 사용할 수 있지만 사용할 수 없는 특별한 경우도 있습니다.
  1. 하위 요소가 필요합니다. Android 4.X와 호환되려면 텍스트 잘림 브라우저는 다른 방법(일반적으로 변환)을 사용해야 합니다.
  2. 하위 요소에는 여러 줄 레이아웃이 필요하며 Android 4.x는 flex-wrap을 지원하지 않으며 여러 줄 레이아웃을 가질 수 없습니다.

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

추천 자료:

프런트 엔드 프로젝트에서 프로젝트 구조 초기화

js 변수 범위를 사용할 때 발생하는 버그🎜🎜

위 내용은 실제 전투에서 CSS를 사용하는 팁 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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