CSS ãã©ã³ã¸ã·ã§ã³ã¯ã CSS ããããã£ãå¤åããéã®ã¢ãã¡ã¼ã·ã§ã³ã®é度ãæä½ããææ®µãæä¾ãã¾ããããããã£ã®å¤æ´ãç´ã¡ã«æå¹ã«ããã®ã§ã¯ãªããããããã£ã®å¤æ´ãä¸å®æéã«ããã£ã¦çºçããããã¨ãå¯è½ã«ãã¾ããä¾ãã°ãããè¦ç´ ã®åæ¯è²ãç½è²ããé»è²ã«å¤æ´ããå ´åãé常ã¯å³åº§ã«åæ¯è²ãæ¿ããã¾ãã CSS ãã©ã³ã¸ã·ã§ã³ãæå¹ã«ããã¨ãå éã«ã¼ãã«å¾ã£ãæéééã§å¤æ´ãè¡ããããã®å¤åã®ãã¹ã¦ãã«ã¹ã¿ãã¤ãºãããã¨ãã§ãã¾ãã
2 ã¤ã®ç¶æ éã®ãã©ã³ã¸ã·ã§ã³ãå«ãã¢ãã¡ã¼ã·ã§ã³ã¯ãéå§ç¶æ ã¨æçµç¶æ ã®éã®ç¶æ ããã©ã¦ã¶ã¼ã«ãã£ã¦æé»çã«å®ç¾©ããããããæé»çãªãã©ã³ã¸ã·ã§ã³ã¨å¼ã°ãããã¨ãããã¾ãã
CSS ãã©ã³ã¸ã·ã§ã³ã§ã¯ãã©ã®ããããã£ãã¢ãã¡ã¼ã·ã§ã³ããããï¼æç¤ºçã«åæãããã¨ã§ï¼ããã¤ã¢ãã¡ã¼ã·ã§ã³ãå§ãããï¼delay ãè¨å®ãããã¨ã§ï¼ãã©ããããã®æéã§ãã©ã³ã¸ã·ã§ã³ããããï¼duration ãè¨å®ãããã¨ã§ï¼ãã©ã®ããã«ãã©ã³ã¸ã·ã§ã³ãããããä¾ãã°ãç´ç·çã«å®è¡ããããå§ãã¯ãã°ãããçµããã¯ãã£ããã¨å®è¡ãããï¼ã¤ã¼ã¸ã³ã°é¢æ°ãå®ç¾©ãããã¨ã§ï¼ã決ãããã¨ãã§ãã¾ãã
ã©ã® CSS ããããã£ããã©ã³ã¸ã·ã§ã³å¯è½ãã¦ã§ãã®ä½è ã¯ãã©ã®ããããã£ãã©ã®ããã«ã¢ãã¡ã¼ã·ã§ã³ãããããå®ç¾©ãããã¨ãã§ãã¾ããããã«ãããè¤éãªãã©ã³ã¸ã·ã§ã³ã使ãããã¨ãã§ãã¾ããããããããã¤ãã®ããããã£ã¯ã¢ãã¡ã¼ã·ã§ã³ãããæå³ããªããããã¢ãã¡ã¼ã·ã§ã³ä¸å¯ã¨ãªã£ã¦ãã¾ãã
ã¡ã¢: auto
ã®å¤ã¯ãã°ãã°ã¨ã¦ãè¤éã«ãªãã¾ãã仿§æ¸ã§ã¯éå§å¤ããã³çµäºå¤ã auto
ã®å ´åã¯ã¢ãã¡ã¼ã·ã§ã³ããªãããæ¨å¥¨ãã¦ãã¾ãã Gecko ãå©ç¨ãããã®ãªã©ãä¸é¨ã®ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ãã®è¦ä»¶ãå®è£
ãã¦ããã WebKit ãå©ç¨ãããã®ãªã©ã§ã¯ããå¶ç´ãå°ãªããªãã¾ãã auto
ã§ã¢ãã¡ã¼ã·ã§ã³ãå©ç¨ããã¨ããã©ã¦ã¶ã¼ããã®ãã¼ã¸ã§ã³ã«ãã£ã¦äºæ¸¬ã§ããªãçµæã«ãªãå¯è½æ§ããããããé¿ããã¹ãã§ãã
CSS ãã©ã³ã¸ã·ã§ã³ã¯ä¸æ¬æå®ã® transition
ããããã£ã使ç¨ãã¦å¶å¾¡ããã¾ãããã©ã³ã¸ã·ã§ã³ãè¨å®ããä¸ã§æãè¯ãæ¹æ³ã§ããã©ã¡ã¼ã¿ã¼ãåæããæ°ãããã¦ãã¾ã£ã¦ãã¨ã£ã¦ãã¤ã©ã¤ã©ããªãã CSS ã®ãããã°ãå¤å¤§ãªæéã使ã£ã¦è¡ããã¨ãé²ãã§ããã¾ãã
ããããã®ãã©ã³ã¸ã·ã§ã³ã³ã³ãã¼ãã³ãã«å¯¾ãã¦ã¯ä»¥ä¸ã®ãµãããããã£ãç¨ãã¦ã³ã³ããã¼ã«ã§ãã¾ãã
transition-property
ãã©ã³ã¸ã·ã§ã³ãé©ç¨ãã CSS ããããã£ã®ååãæå®ãã¾ããããã«æå®ããããããã£ã ããããã©ã³ã¸ã·ã§ã³ã«ããã¢ãã¡ã¼ã·ã§ã³ãã¾ããé常ããã以å¤ã®ããããã£ã®å¤æ´ã¯å³åº§ã«åæ ããã¾ãã
transition-duration
ãã©ã³ã¸ã·ã§ã³ã®å®è¡ã«ãããåçæéãæå®ãã¾ããåä¸ã®å¤ãæå®ããã¨ããã¹ã¦ã®ããããã£ã®ãã©ã³ã¸ã·ã§ã³ã®åçæéã¨ãã¦é©ç¨ããã¾ããã¾ãã¯è¤æ°ã®å¤ãæå®ããã¨ãããããã£ãã¨ã«ãã©ã³ã¸ã·ã§ã³ã®åçæéã¨ãã¦ç°ãªãå¤ãæå®ãããã¨ãã§ãã¾ãã
transition-timing-function
ããããã£ã®ä¸éã®å¤ãè¨ç®ããæ¹æ³ãå®ç¾©ãã颿°ãæå®ãã¾ããã¤ã¼ã¸ã³ã°é¢æ°ã¯ãã©ã³ã¸ã·ã§ã³ã®ä¸éã®å¤ãã©ã®ããã«è¨ç®ãããããå®ç¾©ãã¾ããå¤ãã®ã¤ã¼ã¸ã³ã°é¢æ°ã¯å¯¾å¿ãã颿°ã®ã°ã©ããæä¾ãããã¨ã§æå®ãããããã¯ä¸æ¬¡ãã¸ã§é¢æ°ãå®ç¾©ãã 4 ã¤ã®ç¹ã§å®ç¾©ããã¾ãã Easing functions cheat sheet ããã¤ã¼ã¸ã³ã°ã鏿ãããã¨ãã§ãã¾ãã
transition-delay
ããããã£ãå¤åããæç¹ããããã©ã³ã¸ã·ã§ã³ãå®éã«å§ã¾ãã¾ã§ã®å¾ ã¡æéãå®ç¾©ãã¾ãã
transition
ã®ä¸æ¬æå® CSS ã®æ§æã¯ä»¥ä¸ã®ããã«æ¸ãã¾ãã
div {
transition: <property> <duration> <timing-function> <delay>;
}
ä¾ åºæ¬çãªä¾
ãã®ä¾ã§ã¯ 4 ç§éã®ãã©ã³ãã®å¤§ããã®ãã©ã³ã¸ã·ã§ã³ãè¡ããã¦ã¼ã¶ã¼ããã¦ã¹ãè¦ç´ ä¸ã«ç§»åãã¦ããã¢ãã¡ã¼ã·ã§ã³å¹æãå§ã¾ãã¾ã§ 2 ç§éã®é å»¶ãè¡ãã¾ãã
#delay {
font-size: 14px;
transition-property: font-size;
transition-duration: 4s;
transition-delay: 2s;
}
#delay:hover {
font-size: 36px;
}
è¤æ°ã®ã¢ãã¡ã¼ã·ã§ã³ããããããã£ã®ä¾
<body>
<p>
ä¸è¨ã®ããã¯ã¹ã¯ãå¹
ãé«ããèæ¯è²ãå転ã®ãã©ã³ã¸ã·ã§ã³ãçµã¿åããã¦ãã¾ããããã¯ã¹ã«å½ã¦ãã¨ããããã®ããããã£ãã¢ãã¡ã¼ã·ã§ã³ãã¾ãã
</p>
<div class="box">ä¾</div>
</body>
CSS
.box {
border-style: solid;
border-width: 1px;
display: block;
width: 100px;
height: 100px;
background-color: #0000ff;
transition:
width 2s,
height 2s,
background-color 2s,
rotate 2s;
}
.box:hover {
background-color: #ffcccc;
width: 200px;
height: 200px;
rotate: 180deg;
}
ããããã£å¤ã®ãªã¹ãã®é·ããç°ãªãå ´å
ä½ããã®ããããã£ã§ãå¤ã®ãªã¹ããä»ãããçãå ´åã以ä¸ã®ããã«ãä»ã¨ä¸è´ããã¾ã§ç¹°ãè¿ããã¾ãã
div {
transition-property: opacity, left, top, height;
transition-duration: 3s, 5s;
}
ããã¯æ¬¡ã®ããã«æå®ããããã®ããã«æ±ããã¾ãã
div {
transition-property: opacity, left, top, height;
transition-duration: 3s, 5s, 3s, 5s;
}
åæ§ã«ãä½ããã®ããããã£ã§å¤ã®ãªã¹ãã transition-property
ã®ãªã¹ããããé·ãå ´åã¯åãè©°ãããã¾ãã®ã§ã以ä¸ã® CSS ã®ããã«ãªãã¾ãã
div {
transition-property: opacity, left;
transition-duration: 3s, 5s, 2s, 1s;
}
ããã¯æ¬¡ã®ããã«è§£éããã¾ãã
div {
transition-property: opacity, left;
transition-duration: 3s, 5s;
}
ã¡ãã¥ã¼ã®ãã¤ã©ã¤ãã«ãã©ã³ã¸ã·ã§ã³ãç¨ãã
CSS ã®ä¸è¬çãªä½¿ãæ¹ã¨ãã¦ãã¡ãã¥ã¼ã®ã¢ã¤ãã ã«ãã¦ã¹ãã¤ã³ã¿ã¼ãä¹ããã¨ãã«ããã®ã¢ã¤ãã ããã¤ã©ã¤ãããããã¨ãããã¾ãããã©ã³ã¸ã·ã§ã³ã使ã£ã¦ããé åçãªå¹æãåºãã®ã¯ç°¡åã§ãã
ã¾ãã¯ã HTML ã§ã¡ãã¥ã¼ã使ãã¾ãã
ããã¦ãã¡ãã¥ã¼ã®ã«ãã¯ï¼ãã£ã¼ã«ãå®è£ ããããã«ã次ã®ããã« CSS ã使ãã¾ãã
ãã® CSS ã¯ãã¡ãã¥ã¼ã®å¤è¦ã決ãã¦ãã¾ããã¾ããè¦ç´ ã :hover
ããã³ :focus
ã®ç¶æ
ã§ããã¨ãã«ãèæ¯è²ã¨åæ¯è²ãå¤åããã¦ãã¾ãã
ãã®ä¾ã§ã¯ã display
㨠content-visibility
ãã©ã®ããã«é·ç§»ãããã示ãã¾ãããã®åä½ã¯ãä¾ãã° display: none
ã§ã³ã³ããã¼ã DOM ããé¤å»ãããã®ã®ãããã«æ¶ããã®ã§ã¯ãªããopacity
ã§ãã§ã¼ãã¢ã¦ãããããããªåºç¾ã»æ¶æ»
ã¢ãã¡ã¼ã·ã§ã³ã使ããå ´åã«ä¾¿å©ã§ãã
対å¿ãã¦ãããã©ã¦ã¶ã¼ã¯ã display
㨠content-visibility
ã颿£ã¢ãã¡ã¼ã·ã§ã³å¤ã®ä¸ç¨®ã¨ãã¦ãã©ã³ã¸ã·ã§ã³ããã¾ããããã¯ä¸è¬çã«ãããããã£ã 2 ã¤ã®å¤ã®éãã¢ãã¡ã¼ã·ã§ã³ã® 50% ã§åãæ¿ããã¨ããæå³ã«ãªãã¾ãã
ãã ãä¾å¤ãããããã㯠display: none
ã¾ã㯠content-visibility: hidden
ã¨ã®éã§ã¢ãã¡ã¼ã·ã§ã³ããå ´åã§ãããã®å ´åããã©ã¦ã¶ã¼ã¯ã¢ãã¡ã¼ã·ã§ã³ã®éä¸ããã©ã³ã¸ã·ã§ã³ããã³ã³ãã³ãã表示ãããããã«ã 2 ã¤ã®å¤ãåãæ¿ãã¾ãã
å¾ã£ã¦ãä¾ãã°æ¬¡ã®ããã«ãªãã¾ãã
display
ã none
ãã block
ï¼ã¾ãã¯ä»ã®è¡¨ç¤ºå¯è½ãª display
å¤ï¼ã«ã¢ãã¡ã¼ã·ã§ã³ãããã¨ãã¯ãå¤ã block
ã«åãæ¿ããã®ã¯ã¢ãã¡ã¼ã·ã§ã³ã® 0%
ã§ãããæéä¸ãã£ã¨è¡¨ç¤ºããã¾ããdisplay
ã block
ï¼ã¾ãã¯ä»ã®è¡¨ç¤ºå¯è½ãª display
å¤ï¼ãã none
ã«ã¢ãã¡ã¼ã·ã§ã³ãããã¨ãã¯ãå¤ã¯ none
ã«åãæ¿ããã®ã¯ã¢ãã¡ã¼ã·ã§ã³ã® 100%
ã§ãããããã®ããããã£ããã©ã³ã¸ã·ã§ã³ãããå ´åã¯ã transition-behavior: allow-discrete
ããã©ã³ã¸ã·ã§ã³ã«è¨å®ããå¿
è¦ãããã¾ããããã«ããã广çã« display
/content-visibility
ãã©ã³ã¸ã·ã§ã³ãè¡ããã¨ãã§ãã¾ãã
display
ããã©ã³ã¸ã·ã§ã³ãããå ´åããã®è¦ç´ ãæåã®ã¹ã¿ã¤ã«æ´æ°ãåããã¨ãã«ããã®ããããã£ãããã©ã³ã¸ã·ã§ã³ãããããã«è¦ç´ ã«è¨å®ããããããã£ç¾¤ã®éå§å¤ãæä¾ããããã« @starting-style
ãå¿
è¦ã§ããããã¯äºæããªãåä½ãé¿ããããã«å¿
è¦ã§ããæ¢å®ã§ã¯ãCSS ã®ãã©ã³ã¸ã·ã§ã³ã¯ãè¦ç´ ãæåã« DOM ã«ç¾ããã¨ããã¤ã¾ã display
ã none
ããä»ã®ç¶æ
ã«å¤ãã£ãã¨ããå«ããè¦ç´ ã®æåã®ã¹ã¿ã¤ã«æ´æ°ã§ã¯çºçãã¾ããã content-visibility
ã®ã¢ãã¡ã¼ã·ã§ã³ã¯ @starting-style
ãããã¯ã§éå§å¤ãæå®ããå¿
è¦ã¯ããã¾ããããã㯠content-visibility
ã display
ã®ããã« DOM ããè¦ç´ ãé ãã®ã§ã¯ãªããè¦ç´ ã®ã³ã³ãã³ãã®ã¬ã³ããªã³ã°ãã¹ãããããã ãã ããã§ãã
HTML 㯠2 ã¤ã® <p>
è¦ç´ ãæã£ã¦ããããã®éã« <div>
ãæãã§ã display
ã none
ãã block
ã¾ã§ã¢ãã¡ã¼ã·ã§ã³ããã¾ãã
<p>
ç»é¢ä¸ã®ã©ãããã¯ãªãã¯ããããããããã®ãã¼ãæ¼ãã¨ã <code><div></code> ã®è¡¨ç¤ºã»é表示ãåãæ¿ããã¾ãã
</p>
<div>
ãã㯠<code><div></code> è¦ç´ ã§ã <code>display: none; opacity: 0</code> 㨠<code>display: block; opacity: 1</code> ã®éããã©ã³ã¸ã·ã§ã³ãã¾ãããã¾ããã£ãã§ããã?
</div>
<p>
ããã¯ãä¸è¨ã® <code><div></code> ã« <code>display: none; </code> ãé©ç¨ãããé¤å»ããã¦ãããã¨ã示ãããã®å¥ã®æ®µè½ã§ãã <code>opacity</code> ã夿´ãããã ããªãã常㫠DOM ã«ç©ºéãåãããã§ãããã
</p>
CSS
html {
height: 100vh;
}
div {
font-size: 1.6rem;
padding: 20px;
border: 3px solid red;
border-radius: 20px;
width: 480px;
display: none;
opacity: 0;
transition:
opacity 1s,
display 1s allow-discrete;
/* transition: all 1s allow-discrete; ã¨åç */
}
.showing {
opacity: 1;
display: block;
}
@starting-style {
.showing {
opacity: 0;
}
}
ãã©ã³ã¸ã·ã§ã³ã®éå§ã¹ã¿ã¤ã«ãæå®ããããã«ä½¿ç¨ãã @starting-style
ãããã¯ã¨ããã©ã³ã¸ã·ã§ã³ãªã¹ãã« display
ããããã£ãå«ã¾ãã¦ããã allow-discrete
ãè¨å®ããã¦ãããã¨ã«æ³¨æãã¦ãã ããã
æå¾ã«ãè¥å¹²ã® JavaScript ãè¨è¿°ãã¦ãï¼showing
ã¯ã©ã¹ãä»ãã¦ï¼ãã©ã³ã¸ã·ã§ã³ãçºçãããã¤ãã³ããªã¹ãã¼ãè¨å®ãã¾ãã
const divElem = document.querySelector("div");
const htmlElem = document.querySelector(":root");
htmlElem.addEventListener("click", showHide);
document.addEventListener("keydown", showHide);
function showHide() {
divElem.classList.toggle("showing");
}
çµæ
ãã®ã³ã¼ãã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã
JavaScript ã®ä¾ã¡ã¢: 次ã®ãããªå ´åã®ç´å¾ã«ãã©ã³ã¸ã·ã§ã³ã使ç¨ããå ´åã¯æ³¨æãã¦ãã ããã
.appendChild()
ã使ç¨ã㦠DOM ã«è¦ç´ ã追å ããã¨ãdisplay: none;
ããããã£ãå¤ããã¨ããã®å ´åãåæã®ç¶æ
ãçºçãããè¦ç´ ãå¸¸ã«æå¾ã®ç¶æ
ã§ãããã®ããã«æ±ããã¾ãããã®å¶éã解決ããç°¡åãªæ¹æ³ã¯ããã©ã³ã¸ã·ã§ã³ãè¡ããã CSS ããããã£ã夿´ããåã«ãæ°ããªç§ã® setTimeout()
ãé©ç¨ãããã¨ã§ãã
ãã©ã³ã¸ã·ã§ã³ã¯ã JavaScript ã«ããæ©è½ã«å¯¾ãã¦ä½ãè¡ããã¨ãªãã«ãããã¹ã ã¼ãºã«ããããã¨ãã§ããç´ æ´ããããã¼ã«ã§ãã以ä¸ã®ä¾ãã覧ãã ããã
<p>ã©ãããã¯ãªãã¯ããã¨ãã¼ã«ãç§»åãã¾ã</p>
<div id="foo" class="ball"></div>
JavaScript ã使ç¨ãã¦ãããå ´æã«ãã¼ã«ãç§»åããã广ãä½ããã¨ãã§ãã¾ãã
const f = document.getElementById("foo");
document.addEventListener(
"click",
(ev) => {
f.style.transform = `translateY(${ev.clientY - 25}px)`;
f.style.transform += `translateX(${ev.clientX - 25}px)`;
},
false,
);
CSS ã«ããä½åãªåªåãããã«ãä¸è¨ã®å¹æãã¹ã ã¼ãºã«ããããã¨ãã§ãã¾ããåã«è¦ç´ ã¸ãã©ã³ã¸ã·ã§ã³ã追å ããã¨ãå¤åãã¹ã ã¼ãºã«çºçããããã«ãªãã¾ãã
.ball {
border-radius: 25px;
width: 50px;
height: 50px;
background: #c00;
position: absolute;
top: 0;
left: 0;
transition: transform 1s;
}
ãã©ã³ã¸ã·ã§ã³ã®éå§ã¨å®äºã®æ¤åº
transitionend
ã¤ãã³ãã使ç¨ãããã¨ã§ã§ãã¢ãã¡ã¼ã·ã§ã³ã®å®è¡ãçµäºãããã¨ãæ¤åºãããã¨ãã§ãã¾ãããã㯠TransitionEvent
ãªãã¸ã§ã¯ãã§ãé常㮠Event
ãªãã¸ã§ã¯ãã« 2 ã¤ã®ããããã£ã追å ãããã®ã§ãã
propertyName
æååã§ããã©ã³ã¸ã·ã§ã³ãå®äºãã CSS ããããã£ã®ååã示ãã¾ãã
elapsedTime
æµ®åå°æ°ç¹å¤ã§ãã¤ãã³ããçºè¡ããã¦ãããã©ã³ã¸ã·ã§ã³ãå®è¡ãããæéã示ãã¾ãããã®å¤ã¯ transition-delay
ã®å¤ã«å½±é¿ããã¾ããã
é常ã¯ã addEventListener()
ã¡ã½ããã使ç¨ãã¦ãã®ã¤ãã³ããç£è¦ãããã¨ãã§ãã¾ãã
el.addEventListener("transitionend", updateTransition, true);
ãã©ã³ã¸ã·ã§ã³ã®éå§ã¯ transitionrun
(é
å»¶ã®åã«çºè¡) ããã³ transitionstart
(é
å»¶ã®å¾ã«çºè¡) ã使ç¨ãã¦ãåãå½¢ã§æ¤åºãããã¨ãã§ãã¾ãã
el.addEventListener("transitionrun", signalStart, true);
el.addEventListener("transitionstart", signalStart, true);
ã¡ã¢: transitionend
ã¤ãã³ãã¯ãè¦ç´ ã« display
: none
ãé©ç¨ããããã¢ãã¡ã¼ã·ã§ã³ä¸ã®ããããã£ã®å¤ã夿´ãããããã¦ããã©ã³ã¸ã·ã§ã³ãå®äºããåã«ä¸æ¢ãããå ´åã¯çºè¡ããã¾ããã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4