CSSè«ççããŒããŒååŸããããã£ãæ¢æ±ããã¬ã¹ãã³ã·ãã§æžåæ¹åã«å¯Ÿå¿ãããã¶ã€ã³ãäœæããŸããåœéçãªãŠã§ããµã€ãåãã®å®çšçãªäŸã§å®è£ æ¹æ³ãåŠã³ãŸãããã
CSSè«ççããŒããŒååŸïŒã°ããŒãã«ãã¶ã€ã³ã®ããã®æžåæ¹åãžã®é©å¿
é²åãç¶ãããŠã§ããã¶ã€ã³ã®äžçã§ã¯ãç°ãªãèšèªãæåãæžåæ¹åã«ã·ãŒã ã¬ã¹ã«é©å¿ããã¬ã€ã¢ãŠããäœæããããšãäžå¯æ¬ ã§ããåŸæ¥ã®CSSããããã£ã¯ãå€ãã®å Žåãç©ççãªæ¬¡å ïŒäžãå³ãäžãå·ŠïŒã«äŸåããŠãããããã¯å³ããå·ŠïŒRTLïŒãŸãã¯äžããäžã«èªãèšèªãæ±ãéã«åé¡ãšãªãå¯èœæ§ããããŸãã
CSSè«çããããã£ãšå€ã¯ãç©ççãªãšããžã§ã¯ãªãããããŒãšæ¹åã«åºã¥ãæŠå¿µãå°å
¥ããããšã§è§£æ±ºçãæäŸããŸãããããã®åŒ·åãªããŒã«ã®äžã§ããborder-radius
ãã¡ããªãŒã¯è«ççãªå¯Ÿå¿ç©ã«ãã£ãŠæ°ããªæè»æ§ãç²åŸããŸãããã®èšäºã§ã¯ãCSSè«ççããŒããŒååŸããããã£ã®äžçãæãäžãããã®æ©èœã説æããçã«ã°ããŒãã«ãªãŠã§ãäœéšãæ§ç¯ããäžã§ã®äŸ¡å€ãå®èšŒããŸãã
è«çããããã£ã®å¿ èŠæ§ãçè§£ãã
æŽå²çã«ãCSSããããã£ã¯ç©ççãªæ¬¡å
ã«çµã³ã€ããŠããŸãããäŸãã°ãmargin-left
ã¯åžžã«èŠçŽ ã®å·ŠåŽã«ã¹ããŒã¹ã远å ããŸããããã¯è±èªã®ãããªå·Šããå³ïŒLTRïŒã®èšèªã§ã¯ããŸãæ©èœããŸãããã¢ã©ãã¢èªãããã©ã€èªã®ãããªRTLèšèªã§ã¯ããå·ŠãåŽãå®éã«ã¯èŠèŠçãªå³ã§ãããããçŽæçã§ã¯ãªããªããŸãã
LTRèšèªã§å·ŠåŽã«ãµã€ãããŒãé
眮ããããŠã§ããµã€ããæ³åããŠã¿ãŠãã ãããmargin-left
ãšfloat: left
ã䜿çšãããšå®ç§ã«æ©èœããŸãããããããŠã§ããµã€ããã¢ã©ãã¢èªã«ç¿»èš³ããããšããµã€ãããŒã¯çæ³çã«ã¯å³åŽã«è¡šç€ºãããã¹ãã§ããæåã§margin-left
ãmargin-right
ã«ãfloat: right
ã«åãæ¿ããããšã¯ãè€éããšã¡ã³ããã³ã¹ã®ãªãŒããŒããããå¢å€§ãããŸãã
è«çããããã£ã¯ããstartãããendãã®ãããªæŠå¿µã䜿çšããããšã§ãã®åé¡ã«å¯ŸåŠããŸãããããã¯æžåæ¹åã«åºã¥ããŠèªåçã«é©å¿ããŸããããã«ãããç°ãªãèšèªãæžèšäœç³»ã§æ£ããæ©èœããã¬ã€ã¢ãŠãã®äœæãåçã«ç°¡çŽ åãããŸãã
CSSè«ççããŒããŒååŸããããã£ã®ç޹ä»
åŸæ¥ã®border-radius
ããããã£ã¯ãèŠçŽ ã®è§ãäžžããããšãå¯èœã«ããŸããããããããã¯border-top-left-radius
ãborder-top-right-radius
ãborder-bottom-right-radius
ãborder-bottom-left-radius
ã®ãããªç©ççãªæ¹åã«äŸåããŠããŸããCSSè«çããããã£ãšå€ã®ä»æ§ã§ã¯ããã倧ããªæè»æ§ãšé©å¿æ§ãæäŸãããæžåæ¹åãæèããæ°ããããããã£ãå°å
¥ãããŠããŸãïŒ
border-start-start-radius
ïŒèŠçŽ ã®éå§-éå§ã®è§ã®ããŒããŒååŸãæå®ããŸããborder-start-end-radius
ïŒèŠçŽ ã®éå§-çµäºã®è§ã®ããŒããŒååŸãæå®ããŸããborder-end-start-radius
ïŒèŠçŽ ã®çµäº-éå§ã®è§ã®ããŒããŒååŸãæå®ããŸããborder-end-end-radius
ïŒèŠçŽ ã®çµäº-çµäºã®è§ã®ããŒããŒååŸãæå®ããŸãã
ããã§ããstartããšãendãã¯ãã³ã³ãã³ãã®æžåæ¹åãšæ¹åæ§ã«é¢é£ããŠããŸããLTRèšèªã§ã¯ããstartãã¯å·Šã«ããendãã¯å³ã«å¯Ÿå¿ããŸããRTLèšèªã§ã¯ããstartãã¯å³ã«ããendãã¯å·Šã«å¯Ÿå¿ããŸããåæ§ã«ã瞊æžãã¢ãŒãã§ã¯ããstartãã¯äžã«ããendãã¯äžã«å¯Ÿå¿ããŸãã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹
ãããã®è«ççããŒããŒååŸããããã£ã䜿çšããŠãã¬ã¹ãã³ã·ãã§æžåæ¹åãæèãããã¶ã€ã³ãäœæããæ¹æ³ã説æããããã«ãããã€ãã®å®è·µçãªäŸãæ¢ã£ãŠã¿ãŸãããã
äŸ1ïŒæžåæ¹åã«é©å¿ããè§äžžãã¿ã³
è§ãäžžããã¿ã³ãèããŠã¿ãŸããããæžåæ¹åã«é¢ä¿ãªããå é ãšæ«å°Ÿã®ãšããžã«äžžã¿ãã€ããããšããŸãã
HTML:
<button class="button">ã¯ãªãã¯ããŠãã ãã</button>
CSS:
.button {
border-start-start-radius: 10px;
border-start-end-radius: 10px;
border-end-start-radius: 10px;
border-end-end-radius: 10px;
/* ãŸãã¯ãã·ã§ãŒããã³ãã䜿çšããŠïŒ */
border-radius: 10px;
}
[dir="rtl"] .button {
/* 倿Žã¯äžèŠã§ãïŒãã©ãŠã¶ãæžåæ¹åã®é©å¿ãåŠçããŸã */
}
ãã®äŸã§ã¯ãããŒãžãLTRãRTLãã«é¢ä¿ãªããå·Šäžãšå³äžïŒLTRã®å ŽåïŒãŸãã¯å³äžãšå·ŠäžïŒRTLã®å ŽåïŒã®è§ãäžžããããŸããç°ãªãæžåã¢ãŒãã®ããã«å¥ã
ã®CSSã«ãŒã«ãæžãå¿
èŠã¯ãããŸããããã©ãŠã¶ã¯dir
屿§ã«åºã¥ããŠã€ã³ããªãžã§ã³ãã«ã¹ã¿ã€ã«ãé©çšããŸãã
äŸ2ïŒåçãªå°»å°Ÿã®é 眮ãæã€ãã£ããããã«
ãã£ããããã«ã¯äžè¬çãªUIèŠçŽ ã§ããéåžžãããã«ã®å°»å°Ÿã¯éä¿¡è ãæããŸããè«çããããã£ã䜿çšãããšãã¡ãã»ãŒãžããŠãŒã¶ãŒãããä»ã®é£çµ¡å ãããã«åºã¥ããŠããã«ã®å€èгãç°¡åã«é©å¿ãããããšãã§ããæžåæ¹åãèæ ®ã§ããŸãã
HTML:
<div class="chat-bubble user">ããã«ã¡ã¯ïŒ</div>
<div class="chat-bubble other">ããïŒ</div>
CSS:
.chat-bubble {
background-color: #eee;
padding: 10px;
margin-bottom: 10px;
border-radius: 10px;
}
.chat-bubble.user {
border-start-start-radius: 0; /* å·ŠäžïŒLTRïŒãŸãã¯å³äžïŒRTLïŒã®ååŸãåé€ */
}
.chat-bubble.other {
border-start-end-radius: 0; /* å³äžïŒLTRïŒãŸãã¯å·ŠäžïŒRTLïŒã®ååŸãåé€ */
}
/* RTLèšèªã®å Žåããã©ãŠã¶ã¯èªåçã«start/endãå転ãããŸã */
/* 远å ã®CSSã¯å¿
èŠãããŸãã */
ãã®ã·ããªãªã§ã¯ã.user
ã¯ã©ã¹ããstart-startãã®è§ã®ããŒããŒååŸãåé€ãã广çã«å°»å°ŸãäœæããŸããLTRèšèªã®å Žåãããã¯å·Šäžã®è§ã§ããRTLèšèªã®å Žåããã©ãŠã¶ã¯èªåçã«ãstart-startããå³äžã®è§ãšããŠè§£éããRTLåºæã®ã¹ã¿ã€ã«ãå¥éçšæããããšãªãã尻尟ãåžžã«æ£ããé
眮ãããããã«ããŸãã
äŸ3ïŒè§ã匷調衚瀺ããã«ãŒã
ç¹éã¢ã€ãã ã瀺ãããã«ã«ãŒãã®ç¹å®ã®è§ã匷調衚瀺ããããšããŸããããè«çããããã£ã䜿çšãããšããããéåžžã«æè»ã«ãªããŸãã
HTML:
<div class="card featured">
<h2>補åã¿ã€ãã«</h2>
<p>補åã®èª¬æã</p>
</div>
CSS:
.card {
border: 1px solid #ccc;
padding: 20px;
border-radius: 10px;
}
.card.featured {
border-end-end-radius: 0; /* å³äžïŒLTRïŒãŸãã¯å·ŠäžïŒRTLïŒã®ååŸãåé€ */
border-top: 3px solid red;
border-start-start-radius:0; /*å·Šäžã®ååŸãåé€*/
}
.featured
ã¯ã©ã¹ã¯ããend-endãã®è§ããååŸãåé€ããŸããããã¯LTRã§ã¯å³äžãRTLã§ã¯å·Šäžã«ãªããŸãããã®å¹æã¯ããã©ãŠã¶ã«ãã£ãŠRTLèšèªçšã«èªåçã«ãã©ãŒãªã³ã°ãããŸãã
è«ççããŒããŒååŸããããã£ã䜿çšããå©ç¹
- åœéåã®ç°¡çŽ åïŒ æžãCSSãå°ãªããªããç°ãªãæžåã¢ãŒãçšã®å¥ã ã®ã¹ã¿ã€ã«ã·ãŒãã管çããè€éããåé¿ã§ããŸãã
- ã¬ã¹ãã³ã·ãæ§ã®åäžïŒ ç°ãªãç»é¢ãµã€ãºãåãã«ããã·ãŒã ã¬ã¹ã«é©å¿ããã¬ã€ã¢ãŠããäœæã§ããŸãã
- ä¿å®æ§ã®åäžïŒ è«çããããã£ã¯ãããã¯ãªãŒã³ã§ç°¡æœãªã³ãŒãã«ãªããçè§£ããããä¿å®ãããããªããŸãã
- ã¢ã¯ã»ã·ããªãã£ã®åŒ·åïŒ ã¬ã€ã¢ãŠããšæ¹åæ§ãæ£ããåŠçããããšã§ããã¹ãŠã®èšèªãšæåã®ãŠãŒã¶ãŒã«å¯ŸããŠããå æ¬çãªäœéšãåµåºããŸãã
- å°æ¥ãžã®åãïŒ CSSãé²åãç¶ããäžã§ãè«çããããã£ãæ¡çšããããšã§ãã³ãŒããé¢é£æ§ãä¿ã¡ãé©å¿å¯èœã§ããç¶ããããšãä¿èšŒãããŸãã
ãã©ãŠã¶ã®ãµããŒããšããªãã£ã«
ã»ãšãã©ã®ã¢ãã³ãã©ãŠã¶ã¯ãè«ççããŒããŒååŸããããã£ãå«ãCSSè«çããããã£ãšå€ã«å¯ŸããŠåªãããµããŒããæäŸããŠããŸãããããããã€ãã£ããµããŒãããªãå€ããã©ãŠã¶ã®ããã«ã¯ãããªãã£ã«ã䜿çšããŠäºææ§ãæäŸã§ããŸããAutoprefixerã¯ãã³ãŒããããåºç¯ãªãã©ãŠã¶ã§åäœããããã«å¿ èŠãªå€æãåŠçã§ããããšããããããŸãã
æ¬çªç°å¢ã§ãããã®ããããã£ãå®è£ ããåã«ãCan I useã®ãããªãªãœãŒã¹ã§çŸåšã®ãã©ãŠã¶ãµããŒãã確èªããããšã¯ãåžžã«è¯ãç¿æ £ã§ãã
ãã¹ããã©ã¯ãã£ã¹ãšèæ ®äºé
- è«çããããã£ãäžè²«ããŠäœ¿çšããïŒ è«çããããã£ã䜿ãå§ããããäžè²«æ§ãä¿ã€ããã«ãããžã§ã¯ãå šäœã§é©çšããããã«ããŠãã ãããè«çããããã£ãšç©çããããã£ãæ··åšããããšãæ··ä¹±ãäºæãã¬çµæã«ã€ãªããå¯èœæ§ããããŸãã
- 培åºçã«ãã¹ãããïŒ ã¬ã€ã¢ãŠããæ£ããé©å¿ããããšã確èªããããã«ããŠã§ããµã€ããç°ãªãæžåã¢ãŒãïŒLTRãRTLããããŠå¯èœã§ããã°çžŠæžãïŒã§ãã¹ãããŠãã ããã
direction
屿§ãèæ ®ããïŒdirection
屿§ïŒdir="ltr"
ãŸãã¯dir="rtl"
ïŒã¯ãã³ã³ãã³ãã®æžåæ¹åã瀺ãããã«äžå¯æ¬ ã§ãã<html>
èŠçŽ ãŸãã¯ããŒãžã®ç¹å®ã®ã»ã¯ã·ã§ã³ã§æ£ããèšå®ãããŠããããšã確èªããŠãã ããã- ä»ã®è«çããããã£ãšäœµçšããïŒ è«ççããŒããŒååŸããããã£ã
margin-inline-start
ãpadding-block-end
ãinset-inline-start
ãªã©ã®ä»ã®è«çããããã£ãšçµã¿åãããŠãçã«æžåæ¹åãæèããã¬ã€ã¢ãŠããäœæããŸãã - ã¢ã¯ã»ã·ããªãã£ãã¹ãïŒ ã¹ã¯ãªãŒã³ãªãŒããŒããã®ä»ã®æ¯æŽæè¡ã䜿çšããŠãã¬ã€ã¢ãŠããã¢ã¯ã»ã¹å¯èœã§ããããšã確èªããŠãã ãããæ£ããæ¹åæ§ã¯ããããã®ããŒã«ã«äŸåãããŠãŒã¶ãŒã«ãšã£ãŠéåžžã«éèŠã§ãã
é«åºŠãªãã¯ããã¯ãšã·ã§ãŒããã³ã
æšæºã®`border-radius`ããããã£ãšåæ§ã«ãã·ã§ãŒããã³ãã䜿çšããŠè€æ°ã®è«ççããŒããŒååŸãäžåºŠã«èšå®ã§ããŸãïŒ
border-radius: border-start-start-radius border-start-end-radius border-end-end-radius border-end-start-radius;
æšæºã®`border-radius`ããããã£ãšåæ§ã«ã1ã€ã2ã€ã3ã€ããŸãã¯4ã€ã®å€ã䜿çšããããšãã§ããŸãããããã®å€ã®è§£éã¯åãã«ãŒã«ã«åŸããŸãïŒ
- 1ã€ã®å€ïŒ 4ã€ãã¹ãŠã®è§ãåãååŸã«ãªããŸãã
- 2ã€ã®å€ïŒ æåã®å€ã¯éå§-éå§ãšçµäº-çµäºã®è§ã«ã2çªç®ã®å€ã¯éå§-çµäºãšçµäº-éå§ã®è§ã«é©çšãããŸãã
- 3ã€ã®å€ïŒ æåã®å€ã¯éå§-éå§ã®è§ã«ã2çªç®ã®å€ã¯éå§-çµäºãšçµäº-éå§ã®è§ã«ã3çªç®ã®å€ã¯çµäº-çµäºã®è§ã«é©çšãããŸãã
- 4ã€ã®å€ïŒ åå€ã¯ãéå§-éå§ãéå§-çµäºãçµäº-çµäºãçµäº-éå§ã®é ã§ç¹å®ã®è§ã«é©çšãããŸãã
äŸïŒ
border-radius: 10px; /* å
šãŠã®è§ã®ååŸã10px */
border-radius: 10px 20px; /* éå§-éå§ãšçµäº-çµäº: 10pxãéå§-çµäºãšçµäº-éå§: 20px */
border-radius: 10px 20px 30px; /* éå§-éå§: 10pxãéå§-çµäºãšçµäº-éå§: 20pxãçµäº-çµäº: 30px */
border-radius: 10px 20px 30px 40px; /* éå§-éå§: 10pxãéå§-çµäº: 20pxãçµäº-çµäº: 30pxãçµäº-éå§: 40px */
çµè«ïŒã°ããŒãã«ãªãŠã§ãã®ããã«è«çããããã£ãåãå ¥ããã
è«ççããŒããŒååŸããããã£ãå«ãCSSè«çããããã£ãšå€ã¯ãçã«ã°ããŒãã«ã§ã¢ã¯ã»ã¹å¯èœãªãŠã§ãäœéšãåµé ããããã®äžå¯æ¬ ãªããŒã«ã§ãããããã®ããããã£ãçè§£ãæŽ»çšããããšã§ããã¶ã€ã³ãç°ãªãèšèªãæåãæžåã¢ãŒãã«é©å¿ãããããã»ã¹ãå€§å¹ ã«ç°¡çŽ åã§ããŸãã
ãŠã§ãããŸããŸãã°ããŒãã«åããã«ã€ããŠããã¹ãŠã®ãŠãŒã¶ãŒã®å æ¬æ§ãšã¢ã¯ã»ã·ããªãã£ãä¿èšŒãããã¹ããã©ã¯ãã£ã¹ãæ¡çšããããšãéèŠã§ããè«çããããã£ãåãå ¥ãã培åºçã«ãã¹ãããç°ãªãèšèªãæžèšäœç³»ã§ã·ãŒã ã¬ã¹ã«æ©èœãããŠã§ããµã€ããäœæããŸãããã
ç©ççãªæ¬¡å ããé¢ããè«ççãªæŠå¿µãåãå ¥ããããšã§ã倿§ãªã°ããŒãã«ãªèŽè¡ã«å¯Ÿå¿ãããããä¿å®ãããããã¬ã¹ãã³ã·ãã§ããŠãŒã¶ãŒãã¬ã³ããªãŒãªãŠã§ããµã€ããäœæã§ããã§ãããã
é¢é£è³æ
- MDN Web Docs: CSS è«çããããã£ãšå€
- W3C CSS è«çããããã£ãšå€ ã¬ãã«1
- Can I use ïŒãã©ãŠã¶ãµããŒãã®ç¢ºèªçšïŒ