> 웹 프론트엔드 > CSS 튜토리얼 > CSS `calc()` 값을 어떻게 디버깅합니까?

CSS `calc()` 값을 어떻게 디버깅합니까?

Linda Hamilton
풀어 주다: 2024-12-14 02:15:09
원래의
485명이 탐색했습니다.

How Do I Debug CSS `calc()` Values?

CSS calc() 값을 디버깅하는 방법은 무엇입니까?

문제

예를 들어 비교적 복잡한 공식이 있습니다. ( calc((1px var(--element-height) (var(--image-scale) - 1)) / 2 * var(--scrolled-out-y)))

계산된 값을 디버깅하는 방법은 무엇인가요?
그리고 수식 오류를 확인/강조표시하는 방법이 있나요?

저는 다음 위치를 시도했습니다

 수정됨;</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">display: block;
left:0;
right: 0;
background: yellow;
padding: 5px;
z-index: 100;
content: calc((1px * var(--element-height) * (var(--image-scale) - 1)) / 2 * var(--scrolled-out-y));
로그인 후 복사

작동하지 않음

내가 찾은 유일한 방법은 다음과 같습니다. 계산의 일부는 아래 gif와 같이 사용되지 않은 숫자 속성에 배치됩니다. background-position-x 그래서 계산 탭에 계산된 값을 표시합니다 - 유용하지만 그리 편리하지는 않습니다(페이지 스크롤에 따라 background-position-x가 변경된다는 점에 유의하세요):


<div>


<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">cssProps: true
로그인 후 복사

})
const 결과 = 분할 ();

var parallaxedElements = document.querySelectorAll('.section');

document.addEventListener('scroll', function(e) {

parallaxedElements
Array.from(parallaxedElements).forEach((el) => {
  var bcr = el.getBoundingClientRect();
  if (bcr.y < 0 &amp;&amp; Math.abs(bcr.y) <= bcr.height) {
    el.style.setProperty("--scrolled-out-y", Math.round(Math.abs(bcr.y) * 10000 / bcr.height) / 10000);
  }
});
</p>
<p>})

< 사전>html {

scroll-behavior: smooth;
로그인 후 복사

}

본체 {

font-family: "Roboto";
font-size: 14px;
line-height: 1.4;
scroll-behavior: smooth;
로그인 후 복사

}

.section {

position: relative;
background-attachment: fixed;
z-index: 1;
--image-scale: 1.2;
--scrolled-out-y: 0;
로그인 후 복사

}

.section__배경 {

position: -webkit-sticky;
position: sticky;
top: 0;
width: 100%;
height: 100vh;
overflow: hidden;
로그인 후 복사

}

.section__Background:after {

content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
top: 0;
z-index: 1;
background: linear-gradient(to bottom, black, 100% white);
background: rgba(0, 0, 0, 0.4);
opacity: calc(1 + ((var(--viewport-y) * 1.5)));
로그인 후 복사

}

.section__Background>img {

height: 150vh;
width: 100%;
object-fit: cover;
position: absolute;
left: 0;
top: 0px;
user-select: none;
transform: scale(var(--image-scale)) translateY(calc((-1px * var(--element-height) * (var(--image-scale) - 1)) * var(--scrolled-out-y)));
로그인 후 복사

}
/* .indicator:after {

    position: fixed;
    display: block;
    left: 0;
    right: 0;
    background: pink;
    padding: 5px;
    z-index: 100;
    content: calc((1px * var(--element-height) * (var(--image-scale) - 1)) / 2 * var(--scrolled-out-y));
} */
로그인 후 복사

.section__container {

padding-bottom: 50vh;
overflow: hidden;
align-items: flex-start;
position: relative;
z-index: 4;
로그인 후 복사

}

.section__heading {

color: #fff;
text-transform: uppercase;
font-size: 45px;
line-height: 1.2;
font-weight: 800;
letter-spacing: 8px;
margin: 0;
overflow: hidden;
position: relative;
padding-bottom: 50px;
margin-bottom: 50px;
로그인 후 복사

}

.section__heading :후에 {

content: "";
position: absolute;
top: 200px;
left: 0;
right: 0;
height: 2px;
transform: translateX(calc(var(--scrolled-out-y) * 100% - 70%));
background: #b38c6b;
로그인 후 복사

}

.section__content {

display: flex;
color: white;
flex-direction: column;
로그인 후 복사

}

.section__content p p {

margin-top: 20px;
로그인 후 복사

}

.분할 {

--char-percent: calc(var(--char-index) / var(--char-total));
로그인 후 복사

}

.splitting .char {

display: inline-block;
opacity: calc(1 + ((var(--viewport-y) * 1.5) - var(--char-percent)));
로그인 후 복사

}

<link rel=' 스타일시트' href='https://unpkg.com/splitting/dist/splitting.css'></p>
<p><섹션 데이터 스크롤> <div class="section__Background"></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><div>
로그인 후 복사
로그인 후 복사


<div>
<div>
로그인 후 복사
로그인 후 복사


<섹션 데이터 스크롤>

위 내용은 CSS `calc()` 값을 어떻게 디버깅합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
이전 기사:CSS의 Span 요소에서 Margin-Top이 작동하지 않는 이유는 무엇입니까? 다음 기사:2줄 부트스트랩 4 Navbar를 만드는 방법은 무엇입니까?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
관련 주제
더>
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿