Skip to content

Commit a178bbc

Browse files
committed
css q
1 parent 6ef302f commit a178bbc

File tree

3 files changed

+87
-3
lines changed

3 files changed

+87
-3
lines changed

pages/css/index.html

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ <h2>Web Components</h2>
9393

9494
<a href="/pages/css/examples/index.html">/pages/css/examples/index.html</a>
9595

96-
9796
<h2>Css grid</h2>
9897
<a href="https://youtu.be/JRwIFETSxoc">https://youtu.be/JRwIFETSxoc</a>
9998
<br />
@@ -768,7 +767,91 @@ <h2>filter: grayscale</h2>
768767
</div>
769768
</div>
770769
</div>
770+
<h2>url: gradient, img()</h2>
771+
<div class="url_gradient_img">
772+
<div class="bground"><div>Lorem ipsum dolor sit amet</div></div>
773+
<input type="range" min="0" max="100" value="50" step="1" />
774+
<style>
775+
.url_gradient_img {
776+
.bground {
777+
background-image: url("data:image/jpeg;base64,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");
778+
background-size: calc(82px * 5) calc(46px * 5);
779+
background-repeat: no-repeat;
780+
width: calc(82px * 5);
781+
height: calc(46px * 5);
782+
783+
display: flex; /* activate flex-box */
784+
justify-content: center; /* horizontal centering */
785+
align-items: center; /* vertical centering */
786+
& > div {
787+
color: white;
788+
font-weight: bold;
789+
text-align: center; /* center the text inside the inner div */
790+
}
791+
}
792+
}
793+
</style>
794+
795+
<!-- <script type="editor" data-lang="css" data-eval> -->
796+
<script>
797+
const parent = document.querySelector(".url_gradient_img ");
798+
799+
const bground = parent.querySelector(".bground");
800+
801+
const url = window.getComputedStyle(bground, null).getPropertyValue("background-image");
802+
803+
function range(element, event) {
804+
function hc() {
805+
event(parseInt(element.value, 10));
806+
}
807+
element.addEventListener("change", hc);
808+
element.addEventListener("input", hc);
809+
hc();
810+
}
811+
812+
const rangeEl = parent.querySelector("input[type='range']");
813+
814+
range(rangeEl, (v) => {
815+
const c = ((1 / 100) * v).toFixed(2);
771816

817+
bground.style.backgroundImage = `linear-gradient(hsl(0 0% 0% / ${c}) 0 0), ${url}`;
818+
});
819+
</script>
820+
</div>
821+
822+
<h2>Button rotate</h2>
823+
<div class="button_rotate">
824+
<button>Hover me</button>
825+
</div>
826+
<style>
827+
@property --angle {
828+
syntax: "<angle>";
829+
initial-value: 0deg;
830+
inherits: false;
831+
}
832+
@keyframes rotate {
833+
to {
834+
--angle: 1turn;
835+
}
836+
}
837+
.button_rotate {
838+
button {
839+
font: inherit;
840+
color: black;
841+
padding: 0.5em 1.25em;
842+
border-radius: 100vw;
843+
border: 5px solid transparent;
844+
background: linear-gradient(white) padding-box,
845+
conic-gradient(from var(--angle), blue, red, blue) border-box;
846+
animation: rotate 1s linear infinite;
847+
animation-play-state: paused;
848+
}
849+
button:hover,
850+
button:focus-visible {
851+
animation-play-state: running;
852+
}
853+
}
854+
</style>
772855
<h2>transform</h2>
773856
<div class="different_transform">
774857
<div>

pages/js/index.template.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2621,7 +2621,7 @@ <h2>Event Delegation</h2>
26212621
}
26222622
});
26232623
</script>
2624-
<h2>Extract computed css property value</h2>
2624+
<h2>Extract computed css property value - calculated</h2>
26252625
<script type="editor" data-lang="js">
26262626
parseInt(window.getComputedStyle(document.querySelector('svg'), null).getPropertyValue("width"), 10)
26272627
</script>

pages/online_services/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
// https://asciiflow.com/#
1919
// HINT: Press alt button to get help about keyboard shortcuts
2020

21-
21+
img -> url base64
22+
https://elmah.io/tools/base64-image-encoder/
2223

2324
</script>
2425

0 commit comments

Comments
 (0)