visibility
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
visibility 屿§ã¯ãã°ã©ãã£ãã¯è¦ç´ ã®è¡¨ç¤º/é表示ãå¶å¾¡ãã¾ããå¤ã hidden ã¾ã㯠collapse ã«è¨å®ããã¨ãç¾å¨ã®ã°ã©ãã£ãã¯è¦ç´ ã¯è¡¨ç¤ºãããªããªãã¾ãã
ã¡ã¢:
ããã¹ãè¦ç´ ã® visibility 屿§ã hidden ã«è¨å®ããã¦ããå ´åããã®ããã¹ãã¯è¡¨ç¤ºããã¾ããããããã¹ãã¬ã¤ã¢ã¦ãã®è¨ç®ã§ã¯ç©ºéãå æãã¾ãã
pointer-events 屿§ã®å¤ã«å¿ãã¦ãvisibility 屿§ã hidden ã«è¨å®ããã¦ããã°ã©ãã£ãã¯è¦ç´ ãã¤ãã³ããåä¿¡ããå ´åãããã¾ãã
ã¡ã¢:
ãã¬ã¼ã³ãã¼ã·ã§ã³å±æ§ã§ããããã visibility ã«ã¯å¯¾å¿ãã CSS ãããã㣠visibility ãããã¾ãã両æ¹ãæå®ãããå ´åã CSS ããããã£ã®æ¹ãåªå
ããã¾ãã
è¦ç´
ãã®å±æ§ã¯ã次㮠SVG è¦ç´ ã«å¯¾å¿ãã屿§ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã¾ãã
<a><audio><canvas><circle><ellipse><foreignObject><iframe><image><line><path><polygon><polyline><rect><text><textPath><tspan><video>
使ç¨ä¸ã®ã¡ã¢
| å¤ |
visible | hidden | collapse
|
|---|---|
| å¤ | visible |
| ã¢ãã¡ã¼ã·ã§ã³ | å¯ |
visible-
ãã®å¤ã¯ãè¦ç´ ãæç»ããããã¨ã示ãã¾ãã
-
ãã®å¤ã¯ãè¦ç´ ãæç»ãããªããã¨ã示ãã¾ãããã ããè¦ç´ ã¯ã¬ã³ããªã³ã°ããªã¼ã«å±ãã¦ãããã¤ã¾ãã
pointer-events屿§ã«å¿ãã¦ãã¤ã³ã¿ã¼ã¤ãã³ããåãåããtabindex屿§ã«å¿ãã¦ãã©ã¼ã«ã¹ãåãåããå¢çããã¯ã¹ã®è¨ç®ãã¯ãªãããã¹ã«å¯ä¸ããããã¹ãã®ã¬ã¤ã¢ã¦ãã«å½±é¿ãä¸ãã¾ãã collapse-
ãã®å¤ã¯
hiddenã¨åãã§ãã
ä¾
>ä¾ 1
<svg viewBox="0 0 220 120" xmlns="http://www.w3.org/2000/svg">
<rect
x="10"
y="10"
width="200"
height="100"
stroke="black"
stroke-width="5"
fill="transparent" />
<g stroke="seagreen" stroke-width="5" fill="skyblue">
<rect x="20" y="20" width="80" height="80" visibility="visible" />
<rect x="120" y="20" width="80" height="80" visibility="hidden" />
</g>
</svg>
ä¾ 2
次ã®ä¾ã¯ãSVG ç»åãã¹ã® CSS visibility ãåãæ¿ãã¾ãã
HTML
<button id="nav-toggle-button">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
class="button-icon">
<path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z" />
<path
d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
class="invisible" />
<path d="M0 0h24v24H0z" fill="none" />
</svg>
<span> ã¯ãªãã¯ãã¦ã </span>
</button>
CSS
svg {
display: inline !important;
}
span {
vertical-align: 50%;
}
button {
line-height: 1em;
}
.invisible {
visibility: hidden;
}
JavaScript
const button = document.querySelector("button");
button.addEventListener("click", (evt) => {
button
.querySelector("svg > path:nth-of-type(1)")
.classList.toggle("invisible");
button
.querySelector("svg > path:nth-of-type(2)")
.classList.toggle("invisible");
});
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Display Module Level 3 > # visibility > |
| Scalable Vector Graphics (SVG) 2 > # VisibilityControl > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
display屿§- CSS ã®
visibilityããããã£