Heim > Web-Frontend > CSS-Tutorial > Wie debugge ich CSS-Werte „calc()'?

Wie debugge ich CSS-Werte „calc()'?

Linda Hamilton
Freigeben: 2024-12-14 02:15:09
Original
485 Leute haben es durchsucht

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

Wie debugge ich CSS-calc()-Werte?

Problem

Ich habe eine relativ komplexe Formel, zum Beispiel: transform:scale(var(--image-scale)) translatorY ( calc((1px var(--element-height) (var(--image-scale) - 1)) / 2 * var(--scrolled-out-y)))

Wie debugge ich den berechneten Wert?
Gibt es außerdem eine Möglichkeit, Formelfehler zu überprüfen/hervorzuheben?

Ich habe dies versucht

behoben;

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));
Nach dem Login kopieren

Hat nicht funktioniert

Der einzige Weg, den ich gefunden habe, war Ein Teil der Berechnung wird in einem nicht verwendeten numerischen Attribut platziert, zum Beispiel im GIF unten Hintergrundposition-x, damit der berechnete Wert auf der Registerkarte „Berechnung“ angezeigt wird – nützlich, aber nicht sehr praktisch (beachten Sie, dass sich Hintergrundposition-x beim Scrollen der Seite ändert):


<div>


<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">cssProps: true
Nach dem Login kopieren

})
const results = Splitting ();

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>})

< pre>html {

scroll-behavior: smooth;
Nach dem Login kopieren

}

body {

font-family: "Roboto";
font-size: 14px;
line-height: 1.4;
scroll-behavior: smooth;
Nach dem Login kopieren

}

.section {

position: relative;
background-attachment: fixed;
z-index: 1;
--image-scale: 1.2;
--scrolled-out-y: 0;
Nach dem Login kopieren

}

.section__background {

position: -webkit-sticky;
position: sticky;
top: 0;
width: 100%;
height: 100vh;
overflow: hidden;
Nach dem Login kopieren

}

.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)));
Nach dem Login kopieren

}

.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)));
Nach dem Login kopieren

}
/* .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));
} */
Nach dem Login kopieren

.section__container {

padding-bottom: 50vh;
overflow: hidden;
align-items: flex-start;
position: relative;
z-index: 4;
Nach dem Login kopieren

}

.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;
Nach dem Login kopieren

}

.section__heading :nach {

content: "";
position: absolute;
top: 200px;
left: 0;
right: 0;
height: 2px;
transform: translateX(calc(var(--scrolled-out-y) * 100% - 70%));
background: #b38c6b;
Nach dem Login kopieren

}

.section__content {

display: flex;
color: white;
flex-direction: column;
Nach dem Login kopieren

}

.section__content p p {

margin-top: 20px;
Nach dem Login kopieren

}

.aufteilen {

--char-percent: calc(var(--char-index) / var(--char-total));
Nach dem Login kopieren

}

.splitting .char {

display: inline-block;
opacity: calc(1 + ((var(--viewport-y) * 1.5) - var(--char-percent)));
Nach dem Login kopieren

}

<link rel=' Stylesheet' href='https://unpkg.com/splitting/dist/splitting.css'></p>
<p><section data-scroll> <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>
Nach dem Login kopieren
Nach dem Login kopieren


<div>
<div>
Nach dem Login kopieren
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonWie debugge ich CSS-Werte „calc()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Vorheriger Artikel:Warum funktioniert Margin-Top nicht für Span-Elemente in CSS? Nächster Artikel:Wie erstelle ich eine zweireihige Bootstrap 4-Navigationsleiste?
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage