CSS @nestã®å æ¬çãªã¬ã€ããã¡ã³ããã³ã¹æ§ãšæŽçæ§ã®é«ãã¹ã¿ã€ã«ã·ãŒããäœæããããã®å©ç¹ãæ§æãå®è·µçãªå¿çšäŸãæ¢ããŸããå€§èŠæš¡ãããžã§ã¯ãã§CSSãå¹ççã«æ§ç¯ããæ¹æ³ãåŠã³ãŸãããã
CSS @nest: ã¹ã±ãŒã©ãã«ãªã¹ã¿ã€ã«ã·ãŒãã®ããã®ãã¹ãèŠåã®æŽçè¡ããã¹ã¿ãŒãã
CSSã¯é·å¹Žã«ããã倧å¹
ã«é²åãããã®ãã¯ãŒãšæè»æ§ãé«ããæ©èœãå°å
¥ãããŠããŸãããæè¿è¿œå ãããæã圱é¿åã®ããæ©èœã®1ã€ã@nest
ã«ãŒã«ã§ããããã«ãããéçºè
ã¯CSSã«ãŒã«ãçžäºã«ãã¹ããããHTMLã®æ§é ãåæ ãããããšã§ãã¹ã¿ã€ã«ã·ãŒãã®æŽçãšå¯èªæ§ãåäžãããããšãã§ããŸãããã®ã¬ã€ãã§ã¯ã@nest
ã®å
æ¬çãªæŠèŠãæäŸãããã®å©ç¹ãæ§æãå®è·µçãªå¿çšäŸããããŠãããžã§ã¯ããžã®å®è£
ã«ããããã¹ããã©ã¯ãã£ã¹ãæ¢ããŸãã
CSSãã¹ããšã¯ïŒ
CSSãã¹ããšã¯ãCSSã«ãŒã«ãä»ã®CSSã«ãŒã«å
ã«åãèŸŒãæ©èœã®ããšã§ããåŸæ¥ãCSSã§ã¯åèŠçŽ ãšãã®åå«èŠçŽ ã«å¯ŸããŠåå¥ã®ã«ãŒã«ãèšè¿°ããå¿
èŠããããå埩çã§çæ³çãšã¯èšããªãæ§é ã«ãªã£ãŠããŸããã@nest
ã䜿çšãããšãé¢é£ããã¹ã¿ã€ã«ãã°ã«ãŒãåããããçŽæçã§ã¡ã³ããã³ã¹ããããã³ãŒãããŒã¹ãäœæã§ããŸãã
CSSãã¹ãã®äž»ãªç®çã¯ãCSSã¹ã¿ã€ã«ã·ãŒãã®æŽçãå¯èªæ§ãããã³ã¡ã³ããã³ã¹æ§ãåäžãããããšã§ããHTMLã®æ§é ãåæ ãããããšã§ããã¹ãã¯ç°ãªãã¹ã¿ã€ã«ãšããã«å¯Ÿå¿ããèŠçŽ ãšã®é¢ä¿ãçè§£ããããããŸãã
@nest
ã䜿çšããã¡ãªãã
- å¯èªæ§ã®åäžïŒãã¹ãã¯HTMLã®æ§é ãåæ ãããããã¹ã¿ã€ã«ãšèŠçŽ ã®é¢ä¿ãçè§£ãããããªããŸãã
- ã¡ã³ããã³ã¹æ§ã®åäžïŒèŠªèŠçŽ ãžã®å€æŽããã¹ããããèŠçŽ ã«èªåçã«ã«ã¹ã±ãŒãããããããå埩çãªæŽæ°ã®å¿ èŠæ§ãæžå°ããŸãã
- å埩ã®åæžïŒãã¹ãã«ããã»ã¬ã¯ã¿ãŒãç¹°ãè¿ãå¿ èŠããªããªããããçãç°¡æœãªã¹ã¿ã€ã«ã·ãŒãã«ãªããŸãã
- æŽçã®æ¹åïŒé¢é£ããã¹ã¿ã€ã«ãã°ã«ãŒãåããããšã§ãCSSå šäœã®æ§é ãæ¹åãããããã²ãŒã·ã§ã³ãšç®¡çã容æã«ãªããŸãã
- 詳现床ã®å¶åŸ¡åäžïŒãã¹ãã«ãã詳现床ãããæ£ç¢ºã«å¶åŸ¡ã§ããã¹ã¿ã€ã«ã®ç«¶åã®å¯èœæ§ãæžãããŸãã
@nest
ã®æ§æ
@nest
ã«ãŒã«ã¯ç°¡åã«äœ¿çšã§ããŸããããã«ãããCSSã«ãŒã«ãä»ã®ã«ãŒã«å
ã«åã蟌ãããšãã§ããã·ã³ãã«ãªæ§æã«åŸããŸãïŒ
.parent {
/* Styles for the parent element */
@nest .child {
/* Styles for the child element */
}
@nest &:hover {
/* Styles for the parent element on hover */
}
}
ãã®äŸã§ã¯ã.child
ã®ã¹ã¿ã€ã«ã.parent
ã®ã¹ã¿ã€ã«å
ã«ãã¹ããããŠããŸãã&
ã»ã¬ã¯ã¿ãŒã¯èŠªèŠçŽ ãåç
§ããç䌌ã¯ã©ã¹ãç䌌èŠçŽ ã«åºã¥ããŠã¹ã¿ã€ã«ãé©çšããããšãã§ããŸãã
&
ã»ã¬ã¯ã¿ãŒã®äœ¿çš
&
ã»ã¬ã¯ã¿ãŒã¯CSSãã¹ãã®éèŠãªéšåã§ããããã¯èŠªã»ã¬ã¯ã¿ãŒã衚ãã芪èŠçŽ ã®ç¶æ
ãã³ã³ããã¹ãã«åºã¥ããŠã¹ã¿ã€ã«ãé©çšããããšãã§ããŸããäŸãã°ïŒ
.button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
@nest &:hover {
background-color: #0056b3;
}
@nest &.primary {
background-color: #28a745;
@nest &:hover {
background-color: #1e7e34;
}
}
}
ãã®äŸã§ã¯ã&
ã»ã¬ã¯ã¿ãŒã䜿çšããŠ.button
èŠçŽ ã«ãããŒã¹ã¿ã€ã«ãé©çšããŠããŸãããŸãã.button.primary
ã¯ã©ã¹ã«ã¹ã¿ã€ã«ãé©çšããããã«ã䜿çšãããŠããããã¹ããšã¯ã©ã¹ã»ã¬ã¯ã¿ãŒãçµã¿åãããæ¹æ³ã瀺ããŠããŸãã
@nest
ã®å®è·µçãªäŸ
@nest
ã®å©ç¹ã説æããããã«ãããã€ãã®å®è·µçãªäŸãèŠãŠã¿ãŸãããã
ããã²ãŒã·ã§ã³ã¡ãã¥ãŒ
ãã¹ãããããªã¹ãã¢ã€ãã ãæã€ããã²ãŒã·ã§ã³ã¡ãã¥ãŒãèããŠã¿ãŸãããã@nest
ã䜿çšãããšã次ã®ããã«CSSãæ§é åã§ããŸãïŒ
.nav {
list-style: none;
padding: 0;
margin: 0;
@nest li {
margin-bottom: 10px;
@nest a {
text-decoration: none;
color: #333;
@nest &:hover {
color: #007bff;
}
}
@nest ul {
list-style: none;
padding-left: 20px;
}
}
}
ãã®äŸã¯ããªã¹ãã¢ã€ãã ããªã³ã¯ããã¹ããããé åºãªããªã¹ãã®ã¹ã¿ã€ã«ã.nav
ã¯ã©ã¹å
ã«ãã¹ãããæ¹æ³ã瀺ããŠããŸãã&
ã»ã¬ã¯ã¿ãŒã¯ããªã³ã¯ã«ãããŒã¹ã¿ã€ã«ãé©çšããããã«äœ¿çšãããŠããŸãã
ãã©ãŒã èŠçŽ
ãã©ãŒã ã¯ãããŸããŸãªç¶æ
ãèŠçŽ ã«å¯ŸããŠè€éãªã¹ã¿ã€ãªã³ã°ãå¿
èŠãšããããšããããããŸãã@nest
ã¯ããã®ããã»ã¹ãç°¡çŽ åã§ããŸãïŒ
.form-group {
margin-bottom: 20px;
@nest label {
display: block;
margin-bottom: 5px;
}
@nest input[type="text"], input[type="email"], textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
@nest &:focus {
border-color: #007bff;
outline: none;
}
}
@nest .error-message {
color: red;
font-size: 0.8em;
margin-top: 5px;
}
}
ãã®äŸã§ã¯ã.form-group
ã¯ã©ã¹ã«ã©ãã«ãå
¥åãã£ãŒã«ããããã³ãšã©ãŒã¡ãã»ãŒãžã®ãã¹ããããã¹ã¿ã€ã«ãå«ãŸããŠããŸãã&
ã»ã¬ã¯ã¿ãŒã¯ãå
¥åãã£ãŒã«ãã«ãã©ãŒã«ã¹ã¹ã¿ã€ã«ãé©çšããããã«äœ¿çšãããŠããŸãã
ã«ãŒãã³ã³ããŒãã³ã
ã«ãŒãã³ã³ããŒãã³ãã¯äžè¬çãªUIãã¿ãŒã³ã§ãããã¹ãã¯ãã«ãŒãã®ããŸããŸãªéšåã®ã¹ã¿ã€ã«ãæŽçããã®ã«åœ¹ç«ã¡ãŸãïŒ
.card {
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
overflow: hidden;
@nest .card-header {
background-color: #f0f0f0;
padding: 10px;
font-weight: bold;
}
@nest .card-body {
padding: 20px;
}
@nest .card-footer {
background-color: #f0f0f0;
padding: 10px;
text-align: right;
}
}
ãã®äŸã¯ãã«ãŒãã³ã³ããŒãã³ãã®ããããŒãããã£ãããã¿ãŒã®ã¹ã¿ã€ã«ããã¹ãããæ¹æ³ã瀺ããŠããŸãããã®ã¢ãããŒãã«ãããã«ãŒãã®æ§é ãšã¹ã¿ã€ãªã³ã°ãç°¡åã«çè§£ã§ããŸãã
@nest
ã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
@nest
ã¯å€ãã®å©ç¹ãæäŸããŸãããé床ã«è€éã§ã¡ã³ããã³ã¹ãå°é£ãªã¹ã¿ã€ã«ã·ãŒããäœæããªãããã«ãæ
éã«äœ¿çšããããšãäžå¯æ¬ ã§ãã以äžã«åŸãã¹ããã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãïŒ
- ãã¹ãã®ã¬ãã«ãæµ ãä¿ã€ïŒæ·±ããã¹ããããã«ãŒã«ã¯é¿ããŠãã ãããCSSã®çè§£ããããã°ãé£ãããªãå¯èœæ§ããããŸããæå€§ã§ã2ã3ã¬ãã«ã®ãã¹ã深床ãç®æããŸãããã
- æå³ã®ããã¯ã©ã¹åã䜿çšããïŒåèŠçŽ ã®ç®çãæç¢ºã«ç€ºãã説æçãªã¯ã©ã¹åãéžã³ãŸããããããã«ãããCSSã®å¯èªæ§ãšã¡ã³ããã³ã¹æ§ãåäžããŸãã
- éå°ãªè©³çŽ°åºŠãé¿ããïŒã«ãŒã«ããã¹ãããéã¯ãè©³çŽ°åºŠã«æ³šæããŠãã ãããé床ã«è©³çްãªã»ã¬ã¯ã¿ãŒã¯ãåŸã§ã¹ã¿ã€ã«ãäžæžãããã®ãå°é£ã«ããå¯èœæ§ããããŸãã
- ã³ã¡ã³ãã䜿çšããïŒè€éãªãã¹ãæ§é ãèªæã§ãªãã¹ã¿ã€ãªã³ã°ã®éžæã«ã€ããŠèª¬æããããã«ã³ã¡ã³ãã远å ããŸãããã
- 培åºçã«ãã¹ãããïŒããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§CSSããã¹ããããã¹ããæåŸ ã©ããã«æ©èœããŠããããšã確èªããŠãã ããã
- ãã¹ããšä»ã®ãã¯ããã¯ã®ãã©ã³ã¹ãåãïŒæé©ãªçµæãåŸãããã«ã
@nest
ãBEMïŒBlock, Element, ModifierïŒãCSS Modulesã®ãããªä»ã®CSSæŽçæè¡ãšçµã¿åãããããšãæ€èšããŠãã ããã
CSSããªããã»ããµãšã®æ¯èŒ
SassãLessãStylusã®ãããªCSSããªããã»ããµã¯ãé·å¹Žã«ããããã¹ãæ©èœãæäŸããŠããŸããããããã@nest
ã¯ãã€ãã£ãã®ãã¹ãæ©èœãCSSã«ãããããå€ãã®å Žåããããã®ããªããã»ããµã®å¿
èŠæ§ããªãããŸãã以äžã«æ¯èŒã瀺ããŸãïŒ
- ãã€ãã£ããµããŒãïŒ
@nest
ã¯ãã€ãã£ãã®CSSæ©èœã§ãããã³ãŒããã³ã³ãã€ã«ããããã®ããªããã»ããµãå¿ èŠãšããŸããã - ã·ã³ãã«ãïŒ
@nest
ã¯äžéšã®ããªããã»ããµã®ãã¹ãå®è£ ãããã·ã³ãã«ãªæ§æãæã£ãŠãããããåŠç¿ãšäœ¿çšã容æã§ãã - ã³ã³ãã€ã«ã¹ããããäžèŠïŒ
@nest
ã䜿çšãããšãã³ã³ãã€ã«ã¹ããããªãã§çŽæ¥ã¹ã¿ã€ã«ã·ãŒãã«CSSãèšè¿°ã§ããŸãã - ããªããã»ããµã®æ©èœïŒããªããã»ããµã¯ã倿°ãããã¯ã¹ã€ã³ã颿°ãªã©ã
@nest
ãæäŸããªãè¿œå æ©èœãæäŸããŸãããããã®æ©èœãå¿ èŠãªå Žåã¯ãããªããã»ããµã®æ¹ãè¯ãéžæè¢ãããããŸããã
å€ãã®ãããžã§ã¯ãã§ã¯ã@nest
ã¯CSSããªããã»ããµã®å¿
èŠæ§ã眮ãæããã¯ãŒã¯ãããŒãç°¡çŽ åããäŸåé¢ä¿ãæžããããšãã§ããŸãããã ããããªããã»ããµã®é«åºŠãªæ©èœãå¿
èŠãªå Žåã¯ãåŒãç¶ã䜿çšããããšããå§ãããŸãã
@nest
ã®ãã©ãŠã¶ãµããŒã
@nest
ã®ãã©ãŠã¶ãµããŒãã¯åžžã«é²åããŠããŸãã2024幎åŸåçŸåšãã»ãšãã©ã®ã¢ãã³ãã©ãŠã¶ãCSSãã¹ãããµããŒãããŠããŸããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- Chrome
- Firefox
- Safari
- Edge
åžžã«Can I UseïŒ[https://caniuse.com](https://caniuse.com)ïŒãªã©ã®ãªãœãŒã¹ã§ææ°ã®ãã©ãŠã¶äºææ§æ
å ±ã確èªãããŠãŒã¶ãŒã䜿çšããŠãããã©ãŠã¶ã§@nest
ããµããŒããããŠããããšã確èªããããšããå§ãããŸãã
å®äžçã·ããªãªã«ããã@nest
ã®äŸ
@nest
ãCSSã®æŽçãšã¡ã³ããã³ã¹æ§ã倧å¹
ã«åäžãããããšãã§ãããããã€ãã®å®äžçã·ããªãªãæ¢ã£ãŠã¿ãŸãããïŒ
ã¬ã¹ãã³ã·ããã¶ã€ã³
ã¬ã¹ãã³ã·ããã¶ã€ã³ãæ±ãéã@nest
ã¯ã³ã³ããŒãã³ãã¹ã¿ã€ã«å
ã«ã¡ãã£ã¢ã¯ãšãªãæŽçããã®ã«åœ¹ç«ã¡ãŸãïŒ
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
@nest @media (max-width: 768px) {
padding: 10px;
@nest h2 {
font-size: 1.5em;
}
}
}
ãã®äŸã¯ãã¡ãã£ã¢ã¯ãšãªã.container
ã¯ã©ã¹å
ã«ãã¹ãããæ¹æ³ã瀺ããŠããŸããã¡ãã£ã¢ã¯ãšãªå
ã®ã¹ã¿ã€ã«ã¯ãç»é¢å¹
ã768px以äžã®å Žåã«ã®ã¿é©çšãããŸãã
ããŒãèšå®
@nest
ã¯ããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã®ããŒããäœæããã®ã«éåžžã«åœ¹ç«ã¡ãŸããç°ãªãããŒããå®çŸ©ããããŒãåºæã®ã¹ã¿ã€ã«ãåºæ¬ã³ã³ããŒãã³ãã¹ã¿ã€ã«å
ã«ãã¹ãããããšãã§ããŸãïŒ
.button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
@nest &.dark-theme {
background-color: #343a40;
color: #fff;
@nest &:hover {
background-color: #23272b;
}
}
}
ãã®äŸã§ã¯ã.dark-theme
ã¯ã©ã¹ã«ã¯ããã©ã«ãã®ãã¿ã³ã¹ã¿ã€ã«ãäžæžãããã¹ã¿ã€ã«ãå«ãŸããŠããŸããããã«ãããç°ãªãããŒãéã§ã®åãæ¿ãã容æã«ãªããŸãã
ã¢ãã¡ãŒã·ã§ã³ãšãã©ã³ãžã·ã§ã³
ã¢ãã¡ãŒã·ã§ã³ããã©ã³ãžã·ã§ã³ãæ±ãéã@nest
ã¯é¢é£ããã¹ã¿ã€ã«ããŸãšããŠããã®ã«åœ¹ç«ã¡ãŸãïŒ
.fade-in {
opacity: 0;
transition: opacity 0.5s ease-in-out;
@nest &.active {
opacity: 1;
}
}
ãã®äŸã¯ããã§ãŒãã€ã³èŠçŽ ã®ã¢ã¯ãã£ãç¶æ
ã®ã¹ã¿ã€ã«ããã¹ãããæ¹æ³ã瀺ããŠããŸããããã«ããã.active
ã¯ã©ã¹ã.fade-in
ã¯ã©ã¹ã«é¢é£ããŠããããšãæç¢ºã«ãªããŸãã
é«åºŠãªãã¹ãæè¡
åºæ¬çãªæ§æãè¶
ããŠã@nest
ã®å
šèœåãæŽ»çšããããã«äœ¿çšã§ããããã€ãã®é«åºŠãªæè¡ããããŸãïŒ
屿§ã»ã¬ã¯ã¿ãŒãšã®çµã¿åãã
@nest
ã屿§ã»ã¬ã¯ã¿ãŒãšçµã¿åãããŠã屿§ã«åºã¥ããŠç¹å®ã®èŠçŽ ãã¿ãŒã²ããã«ããããšãã§ããŸãïŒ
.input-wrapper {
margin-bottom: 10px;
@nest input[type="text"] {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
}
ãã®äŸã¯ã.input-wrapper
ã¯ã©ã¹å
ã®type
屿§ãtext
ã«èšå®ãããŠãããã¹ãŠã®inputèŠçŽ ãã¿ãŒã²ããã«ããŠããŸãã
è€æ°ã»ã¬ã¯ã¿ãŒã®ãã¹ã
åäžã®@nest
ã«ãŒã«å
ã«è€æ°ã®ã»ã¬ã¯ã¿ãŒããã¹ãããããšãã§ããŸãïŒ
.container {
@nest h1, h2, h3 {
font-weight: bold;
margin-bottom: 20px;
}
}
ãã®äŸã¯ã.container
ã¯ã©ã¹å
ã®ãã¹ãŠã®h1
ãh2
ãããã³h3
èŠçŽ ã«åãã¹ã¿ã€ã«ãé©çšããŸãã
ãã¹ãã§ã®:is()
ãš:where()
ã®äœ¿çš
:is()
ããã³:where()
ç䌌ã¯ã©ã¹ã¯ããã¹ããšçµã¿åãããããšã§ãããæè»ã§ã¡ã³ããã³ã¹ããããã¹ã¿ã€ã«ãäœæã§ããŸãã:is()
ã¯ãã®æ¬åŒ§å
ã®ããããã®ã»ã¬ã¯ã¿ãŒã«äžèŽãã:where()
ãåæ§ã§ããã詳现床ã¯ãŒãã§ãã
.card {
@nest :is(.card-header, .card-footer) {
background-color: #f0f0f0;
padding: 10px;
}
@nest :where(.card-header, .card-footer) {
border-bottom: 1px solid #ccc; /* Example with zero specificity */
}
}
ãã®äŸã§ã¯ã:is()
ã䜿çšããŠ.card
ã¯ã©ã¹å
ã®.card-header
ãš.card-footer
ã®äž¡æ¹ã®èŠçŽ ã«åãã¹ã¿ã€ã«ãé©çšãã:where()
ã䜿çšããŠè©³çŽ°åºŠãŒãã§å¢çç·ã远å ããŠããŸãã:where()
ã®äŸã¯ãå¿
èŠã«å¿ããŠç°¡åã«äžæžãã§ããããã«ããããã«åœ¹ç«ã¡ãŸãã
é¿ããã¹ãäžè¬çãªèœãšã穎
@nest
ã¯åŒ·åãªããŒã«ã§ãããããã€ãã®äžè¬çãªèœãšãç©Žã«æ³šæããããšãéèŠã§ãïŒ
- éå°ãªãã¹ãïŒåè¿°ã®éããæ·±ããã¹ããããã«ãŒã«ã¯é¿ããŠãã ãããCSSã®èªã¿ãããããããã°ãå°é£ã«ãªãå¯èœæ§ããããŸãã
- 詳现床ã®åé¡ïŒãã¹ãããéã¯è©³çŽ°åºŠã«æ³šæããŠãã ãããé床ã«è©³çްãªã»ã¬ã¯ã¿ãŒã¯ãåŸã§ã¹ã¿ã€ã«ãäžæžãããã®ãå°é£ã«ããå¯èœæ§ããããŸãã
- ããã©ãŒãã³ã¹ãžã®æžå¿µïŒå Žåã«ãã£ãŠã¯ãé床ã«è€éãªãã¹ããããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ããããšããããŸããCSSã培åºçã«ãã¹ãããããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããŠããªãããšã確èªããŠãã ããã
- ãã©ãŠã¶ãµããŒãã®æ¬ åŠïŒå€ããã©ãŠã¶ã«ãããŠïŒïŒæ¬çªç°å¢ã§
@nest
ã䜿çšããåã«ãå¿ ããã©ãŠã¶ã®äºææ§ã確èªããŠãã ãããå€ããã©ãŠã¶ããµããŒãããå¿ èŠãããå Žåã¯ãããªããã»ããµãããªãã£ã«ã䜿çšããå¿ èŠããããããããŸããã
ã¯ãŒã¯ãããŒãžã®@nest
ã®çµ±å
æ¢åã®ã¯ãŒã¯ãããŒã«@nest
ãçµ±åããã®ã¯æ¯èŒçç°¡åã§ãã以äžã«ããã€ãã®æé ã瀺ããŸãïŒ
- CSSãªã³ãã£ã³ã°ããŒã«ãæŽæ°ããïŒäœ¿çšããŠããCSSãªã³ãã£ã³ã°ããŒã«ã
@nest
ããµããŒãããŠããããšã確èªããŠãã ãããããã«ããããšã©ãŒãæ€åºãããã¹ããã©ã¯ãã£ã¹ã匷å¶ããã®ã«åœ¹ç«ã¡ãŸãã - ã³ãŒããã©ãŒããã¿ãŒã䜿çšããïŒPrettierã®ãããªã³ãŒããã©ãŒããã¿ãŒã䜿çšããŠãCSSã³ãŒããèªåçã«ãã©ãŒãããããŸããããã«ãããã³ãŒãã®äžè²«æ§ãšå¯èªæ§ã確ä¿ãããŸãã
- ã³ãŒãããã¹ãããïŒããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§CSSããã¹ããããã¹ããæåŸ ã©ããã«æ©èœããŠããããšã確èªããŠãã ããã
- å°ããå§ããïŒãŸããå°ããéé¢ãããã³ã³ããŒãã³ãã§
@nest
ã䜿ãå§ããŠãã ãããããã«ãããããåºç¯å²ã§äœ¿çšããåã«ãæ§æãšãã¹ããã©ã¯ãã£ã¹ã«æ £ããããšãã§ããŸãã
çµè«
CSSã®@nest
ã¯ãCSSèšèªãžã®åŒ·åãªè¿œå æ©èœã§ãããã¹ã¿ã€ã«ã·ãŒããããæŽçãããã¡ã³ããã³ã¹ããããæ¹æ³ã§æ§é åããææ®µãæäŸããŸããHTMLæ§é ãåæ ãããããšã§ã@nest
ã¯å¯èªæ§ãåäžãããååŸ©ãæžããã詳现床ã®å¶åŸ¡ã匷åããŸãã@nest
ãæ
éã«äœ¿çšãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšãäžå¯æ¬ ã§ãããå€§èŠæš¡ãããžã§ã¯ãã«ããããã®å©ç¹ã¯åŠå®ã§ããŸããããã©ãŠã¶ã®ãµããŒããæ¡å€§ãç¶ããäžã@nest
ã¯äžçäžã®ããã³ããšã³ãéçºè
ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ã«ãªãæºåãã§ããŠããŸãããã¹ãã®åãæŽ»çšããããªãã®CSSã¹ãã«ã仿¥ããåäžãããŸãããïŒ
@nest
ã®æ§æãå©ç¹ããã¹ããã©ã¯ãã£ã¹ãçè§£ããããšã§ãããã¹ã±ãŒã©ãã«ã§ãã¡ã³ããã³ã¹ãããããæŽçãããCSSã¹ã¿ã€ã«ã·ãŒããäœæã§ããŸããã¯ãŒã¯ãããŒã«@nest
ãçµã¿èŸŒãéã«ã¯ããã®ãã¯ãŒãšãæ
éãªèšç»ããã³æœåšçãªèœãšã穎ãžã®é
æ
®ãšã®ãã©ã³ã¹ãåãããšãå¿ããªãã§ãã ããããã®çµæãWebãããžã§ã¯ãå
šäœã®å質ãé«ãããããã¯ãªãŒã³ã§å¹ççãªCSSãçãŸããã§ãããã