CSSãã¹ãæ©èœã䜿ã£ãŠãããã¯ãªãŒã³ã§ä¿å®æ§ã®é«ãã¹ã¿ã€ã«ã·ãŒããäœæããæ¹æ³ãåŠã³ãŸããæŽçãšã¹ã±ãŒã©ããªãã£ãåäžãããããã®å©ç¹ãæ§æããã¹ããã©ã¯ãã£ã¹ã玹ä»ããŸãã
CSSãã¹ãïŒå ¥ãåïŒããã¹ã¿ãŒããïŒã¹ã±ãŒã©ãã«ãªãããžã§ã¯ãã®ããã®ã¹ã¿ã€ã«æŽçè¡
CSSãã¹ãïŒå ¥ãåïŒã¯ãã¢ãã³CSSã®æ¯èŒçæ°ãã匷åãªæ©èœã§ãã¹ã¿ã€ã«ã·ãŒããããçŽæçã§æŽçãããæ¹æ³ã§æ§é åããææ®µãæäŸããŸããCSSã«ãŒã«ãçžäºã«å ¥ãåã«ããããšã§ãHTMLæ§é ãåæ ãã圢ã§èŠçŽ ãšã¹ã¿ã€ã«ã®é¢ä¿ãæ§ç¯ã§ããããã¯ãªãŒã³ã§ä¿å®æ§ã®é«ãã³ãŒãã«ã€ãªãããŸãã
CSSãã¹ããšã¯ïŒ
åŸæ¥ãCSSã§ã¯ã坿¥ã«é¢é£ããŠããèŠçŽ ã§ãã£ãŠããããããã®èŠçŽ ã«å¯ŸããŠåå¥ã®ã«ãŒã«ãèšè¿°ããå¿ èŠããããŸãããäŸãã°ãããã²ãŒã·ã§ã³ã¡ãã¥ãŒãšãã®ãªã¹ãé ç®ãã¹ã¿ã€ãªã³ã°ããã«ã¯ãéåžžãè€æ°ã®ç¬ç«ããã«ãŒã«ãèšè¿°ããŸãïŒ
.nav {
/* Styles for the navigation menu */
}
.nav ul {
/* Styles for the unordered list */
}
.nav li {
/* Styles for the list items */
}
.nav a {
/* Styles for the links */
}
CSSãã¹ãã䜿ãã°ããããã®ã«ãŒã«ã芪ã»ã¬ã¯ã¿å ã«ãã¹ããããæç¢ºãªéå±€æ§é ãäœãããšãã§ããŸãïŒ
.nav {
/* Styles for the navigation menu */
ul {
/* Styles for the unordered list */
li {
/* Styles for the list items */
a {
/* Styles for the links */
}
}
}
}
ãã®ãã¹ãæ§é ã¯ãèŠçŽ éã®é¢ä¿ãèŠèŠçã«è¡šçŸããã³ãŒããããèªã¿ããããçè§£ããããããŸãã
CSSãã¹ãã®å©ç¹
CSSãã¹ãã¯ãåŸæ¥ã®CSSã«æ¯ã¹ãŠããã€ãã®å©ç¹ããããŸãïŒ
- å¯èªæ§ã®åäžïŒãã¹ãæ§é ã«ãããèŠçŽ ãšã¹ã¿ã€ã«ã®é¢ä¿ãçè§£ãããããªããŸãã
- ä¿å®æ§ã®åäžïŒã¹ã¿ã€ã«ãHTMLã®éå±€ã«åŸã£ãŠæŽçãããŠãããããHTMLæ§é ã®å€æŽãCSSã«åæ ããããããªããŸãã
- ã³ãŒãã®éè€åæžïŒãã¹ãã«ããã»ã¬ã¯ã¿ãç¹°ãè¿ãå¿ èŠæ§ãæžããããçãç°¡æœãªã³ãŒãã«ãªããŸãã
- æŽçã®åŒ·åïŒé¢é£ããã¹ã¿ã€ã«ãã°ã«ãŒãåããããšã§ãCSSéçºã«ãããããæŽçãããæ§é çãªã¢ãããŒããä¿é²ããŸãã
- ã¹ã±ãŒã©ããªãã£ã®åäžïŒå€§èŠæš¡ã§è€éãªãããžã§ã¯ãã«ãšã£ãŠãæŽçãããCSSã¯äžå¯æ¬ ã§ãããã¹ãã¯ããããžã§ã¯ãã®æé·ã«åãããŠãæç¢ºã§ç®¡çããããã³ãŒãããŒã¹ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
CSSãã¹ãã®æ§æ
CSSãã¹ãã®åºæ¬æ§æã¯ã芪ã»ã¬ã¯ã¿ã®äžæ¬åŒ§å ã«CSSã«ãŒã«ãé 眮ããããšã§ãããã¹ããããã«ãŒã«ã¯ã芪èŠçŽ ã®åå«ã§ããèŠçŽ ã«ã®ã¿é©çšãããŸãã
åºæ¬çãªãã¹ã
åã®äŸã§ç€ºããããã«ãåå«èŠçŽ ã®ã«ãŒã«ã芪ã»ã¬ã¯ã¿å ã«çŽæ¥ãã¹ãã§ããŸãïŒ
.container {
/* Styles for the container */
.item {
/* Styles for the item within the container */
}
}
&
ïŒã¢ã³ããµã³ãïŒã»ã¬ã¯ã¿
&
ã»ã¬ã¯ã¿ã¯èŠªã»ã¬ã¯ã¿ã衚ããŸããããã«ããã芪èŠçŽ èªäœã«ã¹ã¿ã€ã«ãé©çšãããã芪ã«åºã¥ããŠããè€éãªã»ã¬ã¯ã¿ãäœæãããã§ããŸããããã¯ç¹ã«ãç䌌ã¯ã©ã¹ãç䌌èŠçŽ ã«åœ¹ç«ã¡ãŸãã
äŸïŒãããŒæã®èŠªã®ã¹ã¿ã€ãªã³ã°
.button {
/* Default styles for the button */
background-color: #eee;
color: #333;
padding: 10px 20px;
border: none;
cursor: pointer;
&:hover {
/* Styles for the button when hovered */
background-color: #ccc;
}
}
ãã®äŸã§ã¯ã&:hover
ã.button
èŠçŽ èªäœã«ãããŒã¹ã¿ã€ã«ãé©çšããŸãã
äŸïŒç䌌èŠçŽ ã®è¿œå
.link {
/* Default styles for the link */
color: blue;
text-decoration: none;
position: relative;
&::after {
/* Styles for the pseudo-element */
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 2px;
background-color: blue;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s ease;
}
&:hover::after {
/* Styles for the pseudo-element on hover */
transform: scaleX(1);
}
}
ããã§ã¯ã&::after
ããªã³ã¯ã®äžç·ãšããŠæ©èœããç䌌èŠçŽ ãäœæãããããŒæã«ã¢ãã¡ãŒã·ã§ã³ããŸãã&
ã¯ãç䌌èŠçŽ ã.link
èŠçŽ ã«æ£ããé¢é£ä»ããããããšãä¿èšŒããŸãã
ã¡ãã£ã¢ã¯ãšãªãšã®ãã¹ã
ãŸããCSSã«ãŒã«å ã«ã¡ãã£ã¢ã¯ãšãªããã¹ãããŠãç»é¢ãµã€ãºããã®ä»ã®ããã€ã¹ç¹æ§ã«åºã¥ããŠã¹ã¿ã€ã«ãé©çšããããšãã§ããŸãïŒ
.container {
/* Default styles for the container */
width: 100%;
padding: 20px;
@media (min-width: 768px) {
/* Styles for larger screens */
width: 768px;
padding: 30px;
}
@media (min-width: 1200px) {
/* Styles for even larger screens */
width: 1200px;
padding: 40px;
}
}
ããã«ãããã¬ã¹ãã³ã·ãã¹ã¿ã€ã«ãæŽçãã圱é¿ãäžããèŠçŽ ã®è¿ãã«ä¿æããããšãã§ããŸãã
@supports
ãšã®ãã¹ã
@supports
ã¢ããã«ãŒã«ã¯ãç¹å®ã®CSSæ©èœããã©ãŠã¶ã§ãµããŒããããŠããå Žåã«ã®ã¿ã¹ã¿ã€ã«ãé©çšããããã«ãã¹ãã§ããŸãïŒ
.element {
/* Default styles */
display: flex;
justify-content: center;
align-items: center;
@supports (gap: 10px) {
/* Styles if gap property is supported */
gap: 10px;
}
@supports not (gap: 10px) {
/* Fallback styles for browsers that don't support gap */
margin: 5px;
}
}
ããã«ãããå€ããã©ãŠã¶çšã®ãã©ãŒã«ããã¯ãæäŸããªãããã¢ãã³ãªCSSæ©èœã䜿çšã§ããŸãã
CSSãã¹ãã®ãã¹ããã©ã¯ãã£ã¹
CSSãã¹ãã¯ã¯ãŒã¯ãããŒãå€§å¹ ã«æ¹åã§ããŸãããé床ã«è€éã§ä¿å®äžå¯èœãªã¹ã¿ã€ã«ã·ãŒããäœæããªãããã«ã¯ãæ éã«äœ¿çšããããã€ãã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãããšãéèŠã§ãã
- æ·±ããã¹ããé¿ããïŒãã¹ãã®éå±€ãæ·±ããããšãã³ãŒãã®èªã¿åãããããã°ãå°é£ã«ãªããŸããäžè¬çã«ã¯ã3ã4ã¬ãã«ããæ·±ããã¹ãããªãããã«ããã®ãç®å®ã§ãã
&
ã»ã¬ã¯ã¿ãè³¢ã䜿ãïŒ&
ã»ã¬ã¯ã¿ã¯åŒ·åã§ããã誀çšãããããšããããŸãããã®ä»çµã¿ãçè§£ããå¿ èŠãªå Žåã«ã®ã¿äœ¿çšããŠãã ããã- äžè²«ããã¹ã¿ã€ã«ãç¶æããïŒãããžã§ã¯ãå šäœã§äžè²«ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãå®ããŸããããããã«ãããç¹ã«ããŒã ã§äœæ¥ããå Žåã«ãã³ãŒãã®èªã¿ããããšä¿å®æ§ãåäžããŸãã
- ããã©ãŒãã³ã¹ãèæ ®ããïŒCSSãã¹ãèªäœãæ¬è³ªçã«ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããã§ã¯ãããŸããããé床ã«è€éãªã»ã¬ã¯ã¿ã¯åœ±é¿ãäžããå¯èœæ§ããããŸããããã©ãŒãã³ã¹ã®ããã«ããã¯ãé¿ããããã«ãã»ã¬ã¯ã¿ã¯ã§ããã ãã·ã³ãã«ã«ä¿ã¡ãŸãããã
- ã³ã¡ã³ãã䜿çšããïŒè€éãªãã¹ãæ§é ãçããã»ã¬ã¯ã¿ã®çµã¿åããã説æããããã«ã³ã¡ã³ãã远å ããŸããããããã¯ãåŸã§èªåãä»ã®éçºè ãã³ãŒããçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
- ãã¹ãã䜿ããããªãïŒãã¹ãã§ãããããšãã£ãŠãåžžã«ãã¹ããã¹ãããã§ã¯ãããŸãããå Žåã«ãã£ãŠã¯ããã©ãããªCSSã®æ¹ãå šãåé¡ãªããããèªã¿ãããããšããããŸããååãšããŠã§ã¯ãªããæç¢ºããšä¿å®æ§ãåäžããå Žåã«ãã¹ãã䜿çšããŸãããã
ãã©ãŠã¶ã®ãµããŒãç¶æ³
CSSãã¹ãã¯ãChromeãFirefoxãSafariãEdgeãªã©ãäž»èŠãªã¢ãã³ãã©ãŠã¶ã§åªãããµããŒãç¶æ³ã«ãããŸããããããæ¬çªç°å¢ã§äœ¿çšããåã«ããããžã§ã¯ãã®èŠä»¶ãæºãããŠããã確èªããããã«ãææ°ã®ãã©ãŠã¶äºææ§ããŒãã«ïŒäŸïŒcaniuse.comïŒããã§ãã¯ããããšããå§ãããŸããå¿
èŠã«å¿ããŠãããåºããã©ãŠã¶äºææ§ã®ããã«postcss-nesting
ã®ãããªPostCSSãã©ã°ã€ã³ã®äœ¿çšãæ€èšããŠãã ããã
CSSãã¹ã vs. CSSããªããã»ããµïŒSassãLessïŒ
ãã€ãã£ãã®CSSãã¹ããç»å Žããåã¯ãSassãLessã®ãããªCSSããªããã»ããµãåæ§ã®ãã¹ãæ©èœãæäŸããŠããŸãããããªããã»ããµã¯äŸç¶ãšããŠå€æ°ãmixinã颿°ãªã©ã®ä»ã®æ©èœãæäŸããŸããããã€ãã£ãã®CSSãã¹ãã«ãããåçŽãªãã¹ãã®ã·ããªãªã§ã¯ãã«ãã¹ããããäžèŠã«ãªããŸãã以äžã«æ¯èŒã瀺ããŸãïŒ
æ©èœ | ãã€ãã£ãCSSãã¹ã | CSSããªããã»ããµïŒSass/LessïŒ |
---|---|---|
ãã¹ã | ãã€ãã£ããµããŒããã³ã³ãã€ã«äžèŠ | CSSãžã®ã³ã³ãã€ã«ãå¿ èŠ |
倿° | CSSã«ã¹ã¿ã ããããã£ïŒå€æ°ïŒãå¿ èŠ | çµã¿èŸŒã¿ã®å€æ°ãµããŒã |
Mixin | ãã€ãã£ãã§ã¯å©çšäžå¯ | çµã¿èŸŒã¿ã®MixinãµããŒã |
颿° | ãã€ãã£ãã§ã¯å©çšäžå¯ | çµã¿èŸŒã¿ã®é¢æ°ãµããŒã |
ãã©ãŠã¶ãµããŒã | ã¢ãã³ãã©ãŠã¶ã§åªããŠãããããªãã£ã«ãå©çšå¯èœ | ã³ã³ãã€ã«ãå¿ èŠãåºåãããCSSã¯åºãäºææ§ããã |
ã³ã³ãã€ã« | ãªã | å¿ é |
Mixinã颿°ã®ãããªé«åºŠãªæ©èœãå¿ èŠãªå Žåãããªããã»ããµã¯äŸç¶ãšããŠäŸ¡å€ããããŸããããããåºæ¬çãªãã¹ããšæŽçã®ããã«ã¯ããã€ãã£ãã®CSSãã¹ããããã·ã³ãã«ã§å¹ççãªè§£æ±ºçãæäŸããŸãã
äžçäžã®äœ¿çšäŸ
以äžã®äŸã¯ãCSSãã¹ããããŸããŸãªãŠã§ããµã€ãã®æèã§ã©ã®ããã«é©çšã§ãããã瀺ãããã®æ±çšæ§ã玹ä»ããŸãïŒ
-
Eã³ããŒã¹ã®ååãªã¹ãïŒã°ããŒãã«ãªäŸïŒïŒååãªã¹ãã®ã°ãªãããæã€Eã³ããŒã¹ãµã€ããæ³åããŠãã ãããåååã«ãŒãã«ã¯ç»åãã¿ã€ãã«ãäŸ¡æ ŒããããŠCTAãã¿ã³ãå«ãŸããŠããŸããCSSãã¹ãã䜿ãã°ãååã«ãŒãã®åã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«ããããã«æŽçã§ããŸãïŒ
.product-card { /* Styles for the overall product card */ border: 1px solid #ddd; padding: 10px; .product-image { /* Styles for the product image */ width: 100%; margin-bottom: 10px; } .product-title { /* Styles for the product title */ font-size: 1.2em; margin-bottom: 5px; } .product-price { /* Styles for the product price */ font-weight: bold; color: #007bff; } .add-to-cart { /* Styles for the add to cart button */ background-color: #28a745; color: white; padding: 8px 12px; border: none; cursor: pointer; &:hover { /* Styles for the button on hover */ background-color: #218838; } } }
-
ããã°æçš¿ã®ã¬ã€ã¢ãŠãïŒãšãŒãããã®ãã¶ã€ã³ããçæ³ïŒïŒåæçš¿ã«ã¿ã€ãã«ãèè
ãæ¥ä»ãã³ã³ãã³ããããããã°ã®ã¬ã€ã¢ãŠããèããŠã¿ãŸãããããã¹ãã¯ã¹ã¿ã€ãªã³ã°ã广çã«æ§é åã§ããŸãïŒ
.blog-post { /* Styles for the entire blog post */ margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 20px; .post-header { /* Styles for the post header */ margin-bottom: 10px; .post-title { /* Styles for the post title */ font-size: 2em; margin-bottom: 5px; } .post-meta { /* Styles for the post metadata */ font-size: 0.8em; color: #777; .post-author { /* Styles for the author name */ font-style: italic; } .post-date { /* Styles for the date */ margin-left: 10px; } } } .post-content { /* Styles for the post content */ line-height: 1.6; } }
-
ã€ã³ã¿ã©ã¯ãã£ããããïŒåç±³ã®äŸïŒïŒãŠã§ããµã€ãã§ã¯å°çããŒã¿ã衚瀺ããã€ã³ã¿ã©ã¯ãã£ããããããã䜿ãããŸãããã¹ãã¯ãããäžã®ããŒã«ãŒããããã¢ããã®ã¹ã¿ã€ã«èšå®ã«åœ¹ç«ã¡ãŸãïŒ
.map-container { /* Styles for the map container */ width: 100%; height: 400px; .map-marker { /* Styles for the map markers */ width: 20px; height: 20px; border-radius: 50%; background-color: red; cursor: pointer; &:hover { /* Styles for the marker on hover */ background-color: darkred; } } .map-popup { /* Styles for the map popup */ position: absolute; background-color: white; border: 1px solid #ccc; padding: 10px; z-index: 1000; .popup-title { /* Styles for the popup title */ font-size: 1.1em; margin-bottom: 5px; } .popup-content { /* Styles for the popup content */ font-size: 0.9em; } } }
-
ã¢ãã€ã«ã¢ããªã®UIïŒã¢ãžã¢ã®ãã¶ã€ã³äŸïŒïŒã¿ãä»ãã€ã³ã¿ãŒãã§ãŒã¹ãæã€ã¢ãã€ã«ã¢ããªã§ã¯ããã¹ãã¯åã¿ããšãã®ã³ã³ãã³ãã®ã¹ã¿ã€ãªã³ã°ãå¶åŸ¡ããã®ã«åœ¹ç«ã¡ãŸãïŒ
.tab-container { /* Styles for the tab container */ width: 100%; border-bottom: 1px solid #ddd; .tab-header { /* Styles for the tab header */ display: flex; .tab-item { /* Styles for each tab item */ padding: 10px 15px; cursor: pointer; border: none; background-color: transparent; border-bottom: 2px solid transparent; &.active { /* Styles for the active tab */ border-bottom-color: #007bff; } } } .tab-content { /* Styles for the tab content */ padding: 15px; display: none; &.active { /* Styles for the active tab content */ display: block; } } }
çµè«
CSSãã¹ãã¯ã¢ãã³CSSãžã®äŸ¡å€ããè¿œå æ©èœã§ãããã¹ã¿ã€ã«ã·ãŒããããæŽçãããä¿å®ããããæ¹æ³ã§æ§é åããææ®µãæäŸããŸãããã®æ§æãå©ç¹ããã¹ããã©ã¯ãã£ã¹ãçè§£ããããšã§ããã®æ©èœã掻çšããŠCSSã¯ãŒã¯ãããŒãæ¹åããããã¹ã±ãŒã©ãã«ã§ä¿å®æ§ã®é«ããŠã§ããããžã§ã¯ããäœæã§ããŸããCSSãã¹ããåãå ¥ããŠãããã¯ãªãŒã³ã§èªã¿ãããã³ãŒããæžããCSSéçºããã»ã¹ãç°¡çŽ åããŸãããããããžã§ã¯ãã«ãã¹ããçµ±åããŠãããã¡ã«ãè€éãªã¹ã¿ã€ã«ã·ãŒãã管çãã倿§ãªã°ããŒãã«ã³ã³ããã¹ãã§èŠèŠçã«é åçã§æ§é åããããŠã§ãã¢ããªã±ãŒã·ã§ã³ãäœæããããã®äžå¯æ¬ ãªããŒã«ã§ããããšããããã§ãããã