CSSã¢ãã¯ã«ãŒã«ãæ¢æ±ïŒã¢ãã¯å®è£ ã«ããè¿ éãªå埩ãã³ã©ãã¬ãŒã·ã§ã³ã®åäžãå ç¢ãªãã¹ããå¯èœã«ãããããã³ããšã³ãéçºã®å®è·µçãªã¢ãããŒãã
CSSã¢ãã¯ã«ãŒã«ïŒã¢ãã¯å®è£ ã«ããããã³ããšã³ãéçºã®ç°¡çŽ å
ããã³ããšã³ãéçºã®ç®ãŸããããäžçã§ã¯ãå¹çæ§ãã³ã©ãã¬ãŒã·ã§ã³ããã¹ãå®¹ææ§ãæéèŠèª²é¡ã§ãããã°ãã°èŠéããããã¡ã§ãããéåžžã«åŒ·åãªãã¯ããã¯ãšããŠãCSSã¢ãã¯ã«ãŒã«ããããŸãããã®èšäºã§ã¯ãCSSã¢ãã¯ã«ãŒã«ã®æŠå¿µãæãäžãããã®å©ç¹ãå®è£ æŠç¥ããããŠå®éã®ã¢ããªã±ãŒã·ã§ã³ãæ¢æ±ããæçµçã«ããã³ããšã³ãã¯ãŒã¯ãããŒã®åçåãæ¯æŽããŸãã
CSSã¢ãã¯ã«ãŒã«ãšã¯ïŒ
CSSã¢ãã¯ã«ãŒã«ãšã¯ãã³ã³ããŒãã³ããããŒãžã®æçµçãªã«ãã¯ïŒãã£ãŒã«ã衚ãããã«ãäžæçã§ç°¡çŽ åãããCSSã¹ã¿ã€ã«ãäœæãããã¯ããã¯ã§ããããã¯ã次ã®ãããªããšãã§ããããã¬ãŒã¹ãã«ããŒãã¹ã¿ã€ã«ãšèããŠãã ããã
- ã¬ã€ã¢ãŠãã®å¯èŠåïŒ ããŒãžã®èŠçŽ ã®æ§é ãšé 眮ããã°ãããããã¯ã¢ãŠãããçŸããã埮調æŽããåã«ã¬ã€ã¢ãŠãã«éäžã§ããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ã®ä¿é²ïŒ ãã¶ã€ããŒãšéçºè ããåææ®µéã§è©³çŽ°ãªæ å ±ã«ç ©ããããããšãªããæãŸããå€èгã«ã€ããŠå¹æçã«ã³ãã¥ãã±ãŒã·ã§ã³ãåãããšãã§ããŸãã
- ãããã¿ã€ãã³ã°ã®é«éåïŒ ç°¡åãã€ä¿®æ£ãšå埩ã容æãªç°¡çŽ åãããã¹ã¿ã€ã«ã䜿çšããŠãæ©èœçãªãããã¿ã€ããè¿ éã«äœæã§ããŸãã
- ãã¹ãå®¹ææ§ã®åäžïŒ CSSã®äŸåé¢ä¿ãã¢ãã¯ããããšã«ãããåã ã®ã³ã³ããŒãã³ããåé¢ããŠãã¹ãããæçµçãªã¹ã¿ã€ãªã³ã°ã®å®è£ ã«é¢ä¿ãªãæ£ããæ©èœããããšã確èªããŸãã
æ¬è³ªçã«ãCSSã¢ãã¯ã«ãŒã«ã¯ãèšèšæå³ãšæçµçãªå®è£ éã®å¥çŽãšããŠæ©èœããŸããããã¯ãåžæããã¹ã¿ã€ã«ãæç¢ºã§ç°¡æœããã€çè§£ãããã衚çŸã§æäŸããéçºããã»ã¹ãé²ãã«ã€ããŠæŽç·Žãããæ¡åŒµã§ããŸãã
ãªãCSSã¢ãã¯ã«ãŒã«ã䜿çšããã®ãïŒ
CSSã¢ãã¯ã«ãŒã«ãæ¡çšããããšã®å©ç¹ã¯æ°å€ããããããã³ããšã³ãéçºã©ã€ããµã€ã¯ã«ã®ããŸããŸãªåŽé¢ã«åœ±é¿ãäžããŸãã
1. ãããã¿ã€ãã³ã°ãšéçºã®å é
æåã«ã³ã¢ã¬ã€ã¢ãŠããšèŠèŠæ§é ã«çŠç¹ãåœãŠãããšã§ããããã¿ã€ããšæ©èœã³ã³ããŒãã³ããè¿ éã«æ§ç¯ã§ããŸããäºåã«ãã¯ã»ã«ããŒãã§ã¯ããªãã¶ã€ã³ã埮調æŽããã®ã«äœæéãè²»ãã代ããã«ãåçŽãªã«ãŒã«ïŒäŸïŒèæ¯è²ãåºæ¬çãªãã©ã³ãããã¬ãŒã¹ãã«ããŒãµã€ãºïŒã䜿çšããŠãç®çã®ã«ãã¯ïŒãã£ãŒã«ã衚ãããšãã§ããŸããããã«ãããã¢ã€ãã¢ããã°ããæ€èšŒãããã£ãŒãããã¯ãåéãããã¶ã€ã³ãããå¹ççã«å埩ã§ããŸãã
äŸïŒ 補åã«ãŒãã³ã³ããŒãã³ããæ§ç¯ããŠãããšããŸããè€éãªã°ã©ããŒã·ã§ã³ã圱ãã¿ã€ãã°ã©ãã£ã§æçµãã¶ã€ã³ãããã«å®è£ ãã代ããã«ã次ã®ãããªã¢ãã¯ã«ãŒã«ããå§ããããšãã§ããŸãã
.product-card {
width: 300px;
height: 400px;
background-color: #eee; /* ã©ã€ãã°ã¬ãŒã®ãã¬ãŒã¹ãã«ã㌠*/
border: 1px solid #ccc;
padding: 10px;
}
.product-card__image {
height: 200px;
background-color: #ddd;
}
.product-card__title {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 5px;
}
.product-card__price {
font-size: 1em;
color: green;
}
ãã®åçŽãªã«ãŒã«ã«ãããç»åãã¬ãŒã¹ãã«ããŒãã¿ã€ãã«ãäŸ¡æ Œãªã©ãã«ãŒãã®åºæ¬çãªã¬ã€ã¢ãŠãã確èªã§ããŸãããã®åŸãèŠèŠçãªè©³çްã«å ¥ãåã«ãã³ã³ããŒãã³ãã®æ©èœãšããŒã¿ãã€ã³ãã£ã³ã°ã«éäžã§ããŸãã
2. ã³ã©ãã¬ãŒã·ã§ã³ãšã³ãã¥ãã±ãŒã·ã§ã³ã®åäž
CSSã¢ãã¯ã«ãŒã«ã¯ããã¶ã€ããŒãšéçºè ã®ããã®å ±éã®èŠèŠèšèªãæäŸããŸãã圌ãã¯ãæå³ãããå€èгã«å¯Ÿããå ±éã®çè§£ãçã¿åºããææ§ããšèª€è§£ãæžãããŸãããã¶ã€ããŒã¯ã¢ãã¯ã«ãŒã«ã䜿çšããŠå šäœçãªã«ãã¯ïŒãã£ãŒã«ãäŒããéçºè ã¯å®è£ ã®åºçºç¹ãšããŠäœ¿çšã§ããŸãã
äŸïŒ ãã¶ã€ããŒã¯ãç¹å®ã®ãã¿ã³ã«ãã©ã€ããªã³ãŒã«ãã¥ã¢ã¯ã·ã§ã³ã¹ã¿ã€ã«ãå¿ èŠã§ããããšã瀺ãã¢ãã¯ã«ãŒã«ãæäŸããå ŽåããããŸããéçºè ã¯ããã®ã«ãŒã«ã䜿çšããŠãã¿ã³ã®åºæ¬ããŒãžã§ã³ãå®è£ ãããã®æ©èœãšã€ãã³ãåŠçã«éäžã§ããŸãããã®åŸããã¶ã€ããŒã¯ãç¹å®ã®è²ããã©ã³ããã¢ãã¡ãŒã·ã§ã³ãªã©ã®è©³çްãªä»æ§ã䜿çšããŠã¹ã¿ã€ã«ãæŽç·Žãããããšãã§ããŸãã
3. ãã¹ãå®¹ææ§ãšåé¢ã®åŒ·å
CSSãã¢ãã¯ããããšã§ããã¹ãç®çã§ã³ã³ããŒãã³ããåé¢ã§ããŸããå®éã®CSSãç°¡çŽ åãããã¢ãã¯ã«ãŒã«ã«çœ®ãæããããšã§ãç¹å®ã®ã¹ã¿ã€ãªã³ã°ã®å®è£ ã«é¢ä¿ãªããã³ã³ããŒãã³ããæ£ããæ©èœããããšã確èªã§ããŸããããã¯ãè€éãªCSSãã¬ãŒã ã¯ãŒã¯ãŸãã¯ã³ã³ããŒãã³ãã©ã€ãã©ãªã䜿çšããå Žåã«ç¹ã«åœ¹ç«ã¡ãŸãã
äŸïŒ ãµãŒãããŒãã£ã©ã€ãã©ãªã®ç¹å®ã®CSSã¯ã©ã¹ã«äŸåããã³ã³ããŒãã³ããèããŠã¿ãŸãããããã¹ãäžã«ãã³ã³ããŒãã³ããæ£ããæ©èœããããã«å¿ èŠãªããããã£ãæäŸããåçŽãªCSSã¢ãã¯ã«ãŒã«ã§ãã®ã¯ã©ã¹ãã¢ãã¯ã§ããŸããããã«ããããµãŒãããŒãã£ã©ã€ãã©ãªãžã®å€æŽãæŽæ°ã®åœ±é¿ãåããªãã³ã³ããŒãã³ãã®åäœãä¿èšŒãããŸãã
4. ã¹ã¿ã€ã«ã¬ã€ãã®æ¡çšã®ä¿é²
æ°ããã¹ã¿ã€ã«ã¬ã€ããŸãã¯ãã¶ã€ã³ã·ã¹ãã ãå±éããå ŽåãCSSã¢ãã¯ã«ãŒã«ã¯ãå€ããã®ãšæ°ãããã®ã®éã®æ©æž¡ããããŸããåŸæ¥ã®ã³ãŒãã¯ãç®çã®ã¹ã¿ã€ã«ã衚ãããã«æåã«ã¢ãã¯ã«ãŒã«ãé©çšããããšã«ãããæ°ããã¹ã¿ã€ã«ã¬ã€ãã«åãããŠåŸã ã«æŽæ°ã§ããŸããããã«ãããæ®µéçãªç§»è¡ãå¯èœã«ãªããæ··ä¹±ãæå°éã«æããã¢ããªã±ãŒã·ã§ã³å šäœã§äžè²«æ§ã確ä¿ãããŸãã
5. ã¯ãã¹ãã©ãŠã¶äºææ§ã®èæ ®äºé
CSSã¢ãã¯ã«ãŒã«ã¯ç°¡çŽ åãããŠããŸãããåºæ¬çãªã¬ã€ã¢ãŠããšæ©èœãäžè²«ããŠããããšã確èªããããã«ãããŸããŸãªãã©ãŠã¶ã§ãã¹ãããããšãã§ããŸããæœåšçãªã¯ãã¹ãã©ãŠã¶ã®åé¡ãæ©æã«æ€åºããããšã§ãéçºããã»ã¹åŸåã®æéãšåŽåãå€§å¹ ã«ç¯çŽã§ããŸãã
CSSã¢ãã¯ã«ãŒã«ã®å®è£ ïŒæŠç¥ãšãã¯ããã¯
ãããžã§ã¯ãã®ç¹å®ã®èŠä»¶ãšéçºã¯ãŒã¯ãããŒã«å¿ããŠãCSSã¢ãã¯ã«ãŒã«ãå®è£ ããããã«ããã€ãã®æ¹æ³ã䜿çšã§ããŸããäžè¬çãªãã¯ããã¯ã以äžã«ç€ºããŸãã
1. ã€ã³ã©ã€ã³ã¹ã¿ã€ã«
æãç°¡åãªæ¹æ³ã¯ãã€ã³ã©ã€ã³ã¹ã¿ã€ã«ã䜿çšããŠã¢ãã¯ã¹ã¿ã€ã«ãHTMLèŠçŽ ã«çŽæ¥é©çšããããšã§ããããã¯ããããã¿ã€ãã³ã°ãšå®éšã«ã¯ç°¡åã§ãããä¿å®æ§ã®åé¡ããããããæ¬çªã³ãŒãã«ã¯æšå¥šãããŸããã
äŸïŒ
<div style="width: 200px; height: 100px; background-color: lightblue;">ããã¯ãã¬ãŒã¹ãã«ããŒã§ã</div>
2. å éšã¹ã¿ã€ã«ã·ãŒã
å°ãæŽçãããæ¹æ³ã¯ãHTMLããã¥ã¡ã³ãã®<style>
ã¿ã°å
ã§ã¢ãã¯ã«ãŒã«ãå®çŸ©ããããšã§ããããã«ãããã€ã³ã©ã€ã³ã¹ã¿ã€ã«ãšæ¯èŒããŠæžå¿µäºé
ã®åé¢ãåäžããŸãããåå©çšæ§ãšä¿å®æ§ã®ç¹ã§ãŸã å¶éããããŸãã
äŸïŒ
<style>
.placeholder {
width: 200px;
height: 100px;
background-color: lightblue;
}
</style>
<div class="placeholder">ããã¯ãã¬ãŒã¹ãã«ããŒã§ã</div>
3. å€éšã¹ã¿ã€ã«ã·ãŒãïŒå°çšã¢ãã¯CSSãã¡ã€ã«ïŒ
ããå ç¢ã§ä¿å®ããããæ¹æ³ã¯ãã¢ãã¯ã«ãŒã«å°çšã®åå¥ã®CSSãã¡ã€ã«ãäœæããããšã§ãããããã®ãã¡ã€ã«ã¯ãéçºããã³ãã¹ãäžã«å«ããããšãã§ããŸãããæ¬çªãã«ãããã¯é€å€ãããŸããããã«ãããã¢ãã¯ã¹ã¿ã€ã«ãæ¬çªCSSããåé¢ããã¯ãªãŒã³ã§æŽçãããã³ãŒãããŒã¹ã確ä¿ã§ããŸãã
äŸïŒ `mock.css`ãšããååã®ãã¡ã€ã«ãäœæããæ¬¡ã®å 容ãèšè¿°ããŸãã
.mock-button {
background-color: #ccc; /* ã°ã¬ãŒã®ãã¬ãŒã¹ãã«ã㌠*/
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
}
次ã«ãéçºäžã«ãã®ãã¡ã€ã«ãHTMLã«å«ããŸãã
<link rel="stylesheet" href="mock.css">
æ¡ä»¶ä»ãã¹ããŒãã¡ã³ããŸãã¯ãã«ãããŒã«ã䜿çšããŠãæ¬çªãããã€ãã`mock.css`ãé€å€ã§ããŸãã
4. CSSããªããã»ããµïŒSassãLessãStylusïŒ
SassãLessãStylusãªã©ã®CSSããªããã»ããµã¯ã倿°ãmixinã颿°ãå®çŸ©ããæ©èœãªã©ãCSSã³ãŒãã管çããã³æŽçããããã®åŒ·åãªæ©èœãæäŸããŸãããããã®æ©èœã䜿çšããŠãåå©çšå¯èœãªã¢ãã¯ã«ãŒã«ãäœæããç°å¢å€æ°ã«åºã¥ããŠæ¡ä»¶ä»ãã§é©çšã§ããŸãã
äŸïŒSassïŒïŒ
$is-mock-mode: true; // æ¬çªç°å¢ã§ã¯falseã«èšå®
@mixin mock-style {
@if $is-mock-mode {
background-color: rgba(0, 0, 255, 0.1); // éè²ã®è²åã
border: 1px dashed blue;
}
}
.element {
// æ¬çªã¹ã¿ã€ã«
color: black;
font-size: 16px;
@include mock-style; // ã¢ãã¯ã¢ãŒãã®å Žåã¯ã¢ãã¯ã¹ã¿ã€ã«ãé©çš
}
ãã®äŸã§ã¯ã`mock-style` mixinã¯ã`$is-mock-mode`倿°ã`true`ã«èšå®ãããŠããå Žåã«ã®ã¿ç¹å®ã®ã¹ã¿ã€ã«ãé©çšããŸããããã«ãããéçºãšãã¹ãäžã«ã¢ãã¯ã¹ã¿ã€ã«ãç°¡åã«åãæ¿ããããšãã§ããŸãã
5. CSS-in-JSã©ã€ãã©ãªïŒstyled-componentsãEmotionïŒ
styled-componentsãEmotionãªã©ã®CSS-in-JSã©ã€ãã©ãªã䜿çšãããšãJavaScriptã³ãŒãå ã§çŽæ¥CSSãèšè¿°ã§ããŸãããã®ã¢ãããŒãã«ã¯ãã³ã³ããŒãã³ãã¬ãã«ã®ã¹ã¿ã€ãªã³ã°ãpropsã«åºã¥ãåçã¹ã¿ã€ãªã³ã°ããã¹ãå®¹ææ§ã®åäžãªã©ãããã€ãã®å©ç¹ããããŸãããããã®ã©ã€ãã©ãªãå©çšããŠãåã ã®ã³ã³ããŒãã³ãã«åºæã®ã¢ãã¯ã«ãŒã«ãäœæãããã¹ãäžã«ç°¡åã«åãæ¿ããããšãã§ããŸãã
äŸïŒstyled-componentsïŒïŒ
import styled, { css } from 'styled-components';
const MockStyle = css`
background-color: rgba(255, 0, 0, 0.1); // èµ€è²ã®è²åã
border: 1px dotted red;
`;
const MyComponent = styled.div`
// æ¬çªã¹ã¿ã€ã«
color: #333;
font-family: sans-serif;
${props => props.isMock && MockStyle}; // ã¢ãã¯ã¹ã¿ã€ã«ãæ¡ä»¶ä»ãã§é©çš
`;
// äœ¿çšæ³
<MyComponent isMock>This is my component</MyComponent>
ãã®äŸã§ã¯ã`MockStyle`倿°ã¯äžé£ã®ã¢ãã¯ã¹ã¿ã€ã«ãå®çŸ©ããŸãã`MyComponent` styled componentã¯ã`isMock`ããããã£ã`true`ã«èšå®ãããŠããå Žåã«ã®ã¿ããããã®ã¹ã¿ã€ã«ãé©çšããŸããããã¯ãåã ã®ã³ã³ããŒãã³ãã®ã¢ãã¯ã¹ã¿ã€ã«ããªã³ãšãªãã«åãæ¿ãã䟿å©ãªæ¹æ³ãæäŸããŸãã
6. ãã©ãŠã¶æ¡åŒµæ©èœ
StylebotãUser CSSãªã©ã®ãã©ãŠã¶æ¡åŒµæ©èœã䜿çšãããšãã«ã¹ã¿ã CSSã«ãŒã«ãä»»æã®Webãµã€ãã«æ³šå ¥ã§ããŸãããããã®ããŒã«ã¯ããã¹ãããããã¿ã€ãã³ã°ã®ç®çã§ãæ¢åã®Webãµã€ããŸãã¯ã¢ããªã±ãŒã·ã§ã³ã«ã¢ãã¯ã¹ã¿ã€ã«ããã°ããé©çšããã®ã«åœ¹ç«ã¡ãŸãããã ããéåžžãæ¬çªç°å¢ã«ã¯é©ããŠããŸããã
CSSã¢ãã¯ã«ãŒã«ã®å®éã®ã¢ããªã±ãŒã·ã§ã³
CSSã¢ãã¯ã«ãŒã«ã¯ãããã³ããšã³ãéçºããã»ã¹ãæ¹åããããã«ããŸããŸãªã·ããªãªã«é©çšã§ããŸããå®çšçãªäŸãããã€ã瀺ããŸãã
1. ã³ã³ããŒãã³ãã©ã€ãã©ãªã®æ§ç¯
ã³ã³ããŒãã³ãã©ã€ãã©ãªãéçºããéã«ã¯ãåã³ã³ããŒãã³ããåå¥ã«åé¢ããŠãã¹ãããããšãäžå¯æ¬ ã§ããCSSã¢ãã¯ã«ãŒã«ã䜿çšããŠãåã³ã³ããŒãã³ãã®CSSäŸåé¢ä¿ãã¢ãã¯ããç¹å®ã®ã¹ã¿ã€ãªã³ã°ã®å®è£ ã«é¢ä¿ãªãæ£ããæ©èœããããšã確èªã§ããŸããããã«ãããããŸããŸãªãããžã§ã¯ãã«ç°¡åã«çµ±åã§ãããå ç¢ã§åå©çšå¯èœãªã³ã³ããŒãã³ãã©ã€ãã©ãªãäœæã§ããŸãã
2. ã¹ã¿ã€ã«ã¬ã€ãã®å®è£
CSSã¢ãã¯ã«ãŒã«ã¯ãåŸæ¥ã®ã³ãŒããšæ°ãããã¶ã€ã³ã·ã¹ãã éã®ããªããžãæäŸããããšã«ãããæ°ããã¹ã¿ã€ã«ã¬ã€ãã®æ¡çšãä¿é²ã§ããŸããæ¢åã®ã³ã³ããŒãã³ãã¯ãç®çã®ã¹ã¿ã€ã«ã衚ãããã«æåã«ã¢ãã¯ã«ãŒã«ãé©çšããããšã«ãããã¹ã¿ã€ã«ã¬ã€ãã«åãããŠåŸã ã«æŽæ°ã§ããŸããããã«ãããæ®µéçãªç§»è¡ãå¯èœã«ãªããæ··ä¹±ãæå°éã«æããã¢ããªã±ãŒã·ã§ã³å šäœã§äžè²«æ§ã確ä¿ãããŸãã
3. A/Bãã¹ã
CSSã¢ãã¯ã«ãŒã«ã䜿çšããŠãA/Bãã¹ãã·ããªãªã§ããŸããŸãªãã¶ã€ã³ããªãšãŒã·ã§ã³ããã°ãããããã¿ã€ããããã¹ãã§ããŸããããŸããŸãªãŠãŒã¶ãŒã»ã°ã¡ã³ãã«ç°ãªãã¢ãã¯ã«ãŒã«ã»ãããé©çšããããšã«ãããããŸããŸãªãã¶ã€ã³ãªãã·ã§ã³ã®æå¹æ§ãè©äŸ¡ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæé©åã§ããŸãã
4. ã¬ã¹ãã³ã·ããã¶ã€ã³ã®ãããã¿ã€ãã³ã°
CSSã¢ãã¯ã«ãŒã«ã¯ãããŸããŸãªããã€ã¹ã§ã¬ã¹ãã³ã·ãã¬ã€ã¢ãŠãããã°ãããããã¿ã€ãã³ã°ããããã«éåžžã«åœ¹ç«ã¡ãŸããã¡ãã£ã¢ã¯ãšãªãšç°¡çŽ åãããã¢ãã¯ã¹ã¿ã€ã«ã䜿çšããããšã«ãããè€éãªCSSå®è£ ã«ç ©ããããããšãªãããã¶ã€ã³ãããŸããŸãªç»é¢ãµã€ãºã«ã©ã®ããã«é©å¿ããããè¿ éã«èŠèŠåããŠãã¹ãã§ããŸãã
5. åœéåïŒi18nïŒãã¹ã
i18nã®ãã¹ãã«ã¯ãããŸããŸãªèšèªã®ããã¹ãã®é·ãã«åãããŠãããŸããŸãªãã©ã³ããµã€ãºãŸãã¯ã¬ã€ã¢ãŠã調æŽãå¿ èŠã«ãªãããšããããããŸããCSSã¢ãã¯ã«ãŒã«ã䜿çšããŠãå®éã®ç¿»èš³ãå¿ èŠãšããã«ãããã®ããªãšãŒã·ã§ã³ãã·ãã¥ã¬ãŒãã§ãããããéçºããã»ã¹åææ®µéã§æœåšçãªã¬ã€ã¢ãŠãã®åé¡ãç¹å®ã§ããŸããããšãã°ããã©ã³ããµã€ãºã20ïŒ å€§ããããããå³ããå·Šãžã®ã¬ã€ã¢ãŠããã·ãã¥ã¬ãŒãããããããšãæœåšçãªåé¡ãæããã«ãªãå¯èœæ§ããããŸãã
CSSã¢ãã¯ã«ãŒã«ã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
CSSã¢ãã¯ã«ãŒã«ã®ã¡ãªãããæå€§éã«é«ããã«ã¯ãããã€ãã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãããšãéèŠã§ãã
- ã·ã³ãã«ã«ä¿ã€ïŒ ã¢ãã¯ã«ãŒã«ã¯ãã³ã¢ã¬ã€ã¢ãŠããšèŠèŠæ§é ã«çŠç¹ãåœãŠãã§ããéãã·ã³ãã«ãã€ç°¡æœã«ããå¿ èŠããããŸãã
- æå³ã®ããååã䜿çšããïŒ ã¢ãã¯ã«ãŒã«ãçè§£ãããããä¿å®ããããããããã«ã説æçãªã¯ã©ã¹åãšå€æ°åã䜿çšããŸãã
- ã¢ãã¯ãããã¥ã¡ã³ãåããïŒ åã¢ãã¯ã«ãŒã«ã®ç®çãšæå³ããåäœãæç¢ºã«ææžåããŸãã
- é€å€ãèªååããïŒ ãã«ãããŒã«ãŸãã¯æ¡ä»¶ä»ãã¹ããŒãã¡ã³ãã䜿çšããŠãæ¬çªãã«ãããã¢ãã¯ã«ãŒã«ãé€å€ããããã»ã¹ãèªååããŸãã
- 宿çã«ã¬ãã¥ãŒããŠãªãã¡ã¯ã¿ãªã³ã°ããïŒ ã¢ãã¯ã«ãŒã«ã宿çã«ã¬ãã¥ãŒããå¿ èŠã«å¿ããŠãªãã¡ã¯ã¿ãªã³ã°ããŠãé¢é£æ§ãšææ°æ§ãä¿ã€ããã«ããŸãã
- ã¢ã¯ã»ã·ããªãã£ãèæ ®ããïŒ ç°¡çŽ åããªããããããã¹ãã«ååãªã³ã³ãã©ã¹ããæäŸãããªã©ãåºæ¬çãªã¢ã¯ã»ã·ããªãã£ã®ååããŸã èæ ®ãããŠããããšã確èªããŠãã ããã
æœåšçãªèª²é¡ãå æãã
CSSã¢ãã¯ã«ãŒã«ã«ã¯å€ãã®å©ç¹ããããŸãããæ³šæãã¹ãæœåšçãªèª²é¡ãããã€ããããŸãã
- ã¢ãã¯ãžã®é床ã®äŸåïŒ é©åãªCSSå®è£ ã®ä»£ããã§ã¯ãªããããã¢ãã¯ã«ãŒã«ã«é床ã«äŸåããããšãé¿ããŠãã ããã
- ã¡ã³ããã³ã¹ã®ãªãŒããŒãããïŒ ã¢ãã¯ã«ãŒã«ãé©åã«ç®¡çãããŠããªãå Žåãã³ãŒãããŒã¹ã®ã¡ã³ããã³ã¹ã®ãªãŒããŒããããå¢ããå¯èœæ§ããããŸãã
- äžäžèŽã®å¯èœæ§ïŒ ã¢ãã¯ã«ãŒã«ãç®çã®ãã¶ã€ã³ãæ£ç¢ºã«åæ ããäžäžèŽãè¿ éã«å¯ŸåŠãããŠããããšã確èªããŠãã ããã
ãããã®èª²é¡ã軜æžããã«ã¯ãCSSã¢ãã¯ã«ãŒã«ã®äœ¿çšã«é¢ããæç¢ºãªã¬ã€ãã©ã€ã³ã確ç«ããå¿ èŠã«å¿ããŠå®æçã«ã¬ãã¥ãŒããŠãªãã¡ã¯ã¿ãªã³ã°ããããšãéèŠã§ãããŸããã¢ãã¯ã«ãŒã«ãååã«ææžåãããéçºè ããã®ç®çãšå¶éãèªèããŠããããšã確èªããããšãéèŠã§ãã
CSSã¢ãã¯ã®ããã®ããŒã«ãšãã¯ãããžãŒ
CSSã¢ãã¯ã«ãŒã«ã®å®è£ ãšç®¡çã«åœ¹ç«ã€ããŒã«ãšãã¯ãããžãŒãããã€ããããŸãã
- ãã«ãããŒã«ïŒ WebpackãParcelãRollup â ãããã®ããŒã«ã¯ãæ¬çªãã«ãããã¢ãã¯CSSãã¡ã€ã«ãèªåçã«é€å€ããããã«æ§æã§ããŸãã
- CSSããªããã»ããµïŒ SassãLessãStylus â ãããã®ããªããã»ããµã¯ãåå©çšå¯èœãªã¢ãã¯ã«ãŒã«ãäœæããããã®å€æ°ãmixinã颿°ãå®çŸ©ããæ©èœãªã©ãCSSã³ãŒãã管çããã³æŽçããããã®æ©èœãæäŸããŸãã
- CSS-in-JSã©ã€ãã©ãªïŒ styled-componentsãEmotion â ãããã®ã©ã€ãã©ãªã䜿çšãããšãJavaScriptã³ãŒãå ã§çŽæ¥CSSãèšè¿°ã§ããã³ã³ããŒãã³ãã¬ãã«ã®ã¹ã¿ã€ãªã³ã°ãšãã¹ãå®¹ææ§ãåäžããŸãã
- ãã¹ããã¬ãŒã ã¯ãŒã¯ïŒ JestãMochaãCypress â ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãCSSäŸåé¢ä¿ãã¢ãã¯ããã³ã³ããŒãã³ããåé¢ããŠãã¹ãããããã®ããŒã«ãæäŸããŸãã
- ãã©ãŠã¶æ¡åŒµæ©èœïŒ StylebotãUser CSS â ãããã®æ¡åŒµæ©èœã䜿çšãããšããã¹ãããããã¿ã€ãã³ã°ã®ç®çã§ãä»»æã®Webãµã€ãã«ã«ã¹ã¿ã CSSã«ãŒã«ãæ³šå ¥ã§ããŸãã
CSSã¢ãã¯ã«ãŒã«ãšä»ã®ããã³ããšã³ãéçºææ³
CSSã¢ãã¯ã«ãŒã«ãä»ã®ããã³ããšã³ãéçºææ³ãšã©ã®ããã«é¢é£ããŠããããçè§£ããããšãéèŠã§ãã
- ã¢ãããã¯CSSïŒäŸïŒTailwind CSSïŒïŒ ã¢ãããã¯CSSã¯ãè¿ éãªã¹ã¿ã€ãªã³ã°ã®ããã®ãŠãŒãã£ãªãã£ã¯ã©ã¹ã«çŠç¹ãåœãŠãŠããŸãããCSSã¢ãã¯ã«ãŒã«ã¯ããŠãŒãã£ãªãã£ã¯ã©ã¹ãé©çšããåã«ãèŠèŠæ§é ã®ããã®äžæçãªãã¬ãŒã¹ãã«ããŒãæäŸããŸãããããã¯ãéçºã¯ãŒã¯ãããŒã§ãäºããè£å®ããããšãã§ããŸãã
- ITCSSïŒInverted Triangle CSSïŒïŒ ITCSSã¯ãCSSãç¹ç°æ§ã®å¢å ããã¬ã€ã€ãŒã«æŽçããŸããCSSã¢ãã¯ã«ãŒã«ã¯ãåºç€ã§ãããç°¡åã«äžæžãã§ãããããéåžžãäžäœã¬ã€ã€ãŒïŒèšå®ãŸãã¯ããŒã«ïŒã«é 眮ãããŸãã
- BEMïŒBlock Element ModifierïŒïŒ BEMã¯ãã³ã³ããŒãã³ãããŒã¹ã®ã¹ã¿ã€ãªã³ã°ã«çŠç¹ãåœãŠãŠããŸããCSSã¢ãã¯ã«ãŒã«ã¯ãBEMãããã¯ãšèŠçŽ ã«é©çšããŠãå€èгããã°ãããããã¿ã€ãã§ããŸãã
- CSS ModulesïŒ CSS Modulesã¯ãç«¶åãåé¿ããããã«CSSã¯ã©ã¹ãããŒã«ã«ã«ã¹ã³ãŒãããŸããCSSã¢ãã¯ã«ãŒã«ã¯ãéçºãšãã¹ãäžã«ã³ã³ããŒãã³ãã®ã¹ã¿ã€ãªã³ã°ãã¢ãã¯ããããã«ãCSS Modulesãšçµã¿åãããŠäœ¿çšã§ããŸãã
çµè«
CSSã¢ãã¯ã«ãŒã«ã¯ãããã³ããšã³ãéçºã®åçåãã³ã©ãã¬ãŒã·ã§ã³ã®åäžããã¹ãå®¹ææ§ã®åŒ·åã«åœ¹ç«ã€è²Žéãªãã¯ããã¯ã§ããç®çã®ã¹ã¿ã€ã«ã®ç°¡çŽ åããã衚çŸãæäŸããããšã«ãããã³ã³ããŒãã³ãã®ã³ã¢æ©èœãšã¬ã€ã¢ãŠãã«éäžãããããã¿ã€ãã³ã°ãå éãããã¶ã€ããŒãšéçºè ã®éã®ã³ãã¥ãã±ãŒã·ã§ã³ãä¿é²ã§ããŸããååã«æ§é åãããCSSã®ä»£ããã§ã¯ãããŸããããCSSã¢ãã¯ã«ãŒã«ã¯ãããã³ããšã³ãéçºè ã®æŠåšåº«ã§å®çšçã§è²ŽéãªããŒã«ãšãªããè¿ éãªå埩ãšããè¯ãã³ã©ãã¬ãŒã·ã§ã³ãæ¯æŽããŸãããã®èšäºã§æŠèª¬ãããŠããååãšãã¯ããã¯ãçè§£ããããšã«ãããCSSã¢ãã¯ã«ãŒã«ã广çã«æŽ»çšããŠãããå ç¢ã§ãä¿å®å¯èœã§ããŠãŒã¶ãŒãã¬ã³ããªãŒãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã