CSSを駆使ã—ã¦ã€Œåœ°ç„ã®ãƒŸã‚µãƒ¯ã€é¢¨ã®ã‚ャラクターをæã„ã¦ã¿ã¾ã—ãŸã€‚
CSS3ã®ãƒŸã‚µãƒ¯
jsdo.itã§å…¬é–‹ã—ã¦ã„るコードã®100番目ã¨ã„ã†äº‹ã§ã€ã¡ã‚‡ã£ã¨å‡ã£ãŸã‚‚ã®ã‚’作ã‚ã†ã¨æ€ã£ãŸã®ãŒãã£ã‹ã‘ã§ã™ã€‚
完全ã«HTML+CSSã ã‘ã§åœ°ç„ã®ãƒŸã‚µãƒ¯é¢¨ã®çµµå›³ã‚’æã„ã¦ã¿ã¾ã—ãŸã€‚
コードã¯jsdo.itã®ã‚µã‚¤ãƒˆã§å…¬é–‹ã—ã¦ã‚りã¾ã™ã€‚よã‚ã—ã‘れã°ã”覧ãã ã•ã„。(実物ã®å®Ÿè¡Œã‚µãƒ³ãƒ—ルもã“ã¡ã‚‰ã§ã™ã€‚)
CSS3ã®ãƒŸã‚µãƒ¯
ãƒã‚¤ãƒ³ãƒˆ
以下ã®CSS3ã®æŒ‡å®šãŒãƒã‚¤ãƒ³ãƒˆã§ã™ã€‚
border-radiustransform:before,:after
曲線をæã
ã¾ãšã¯ç·šã®æ›¸ã方を見ã¦ã‚†ãã¾ã—ょã†ã€‚ç·šã¯å…¨ã¦ã€ä½•ã®å¤‰å“²ã‚‚ãªã„borderを使ã£ã¦æã„ã¦ã„ã¾ã™ã€‚
/* 四角 */
#square {
border: solid 3px #999;
}
ã“れをborder-radiusを使ã£ã¦æ›²ç·šã«ã—ã¦ã„ã‚‹ã‚ã‘ã§ã™ã€‚(-moz-ã®ã‚ˆã†ãªãƒ™ãƒ³ã‚¿ãƒ¼ãƒ—レフィックスã¯çœç•¥ã—ã¾ã™ã€‚ä»¥ä¸‹åŒæ§˜ã€‚)
/* 角丸 */
#curve {
border: solid 3px #999;
border-radius:Â 20px;
}
ã“ã®ã‚ˆã†ã«ã—ã¦ã®å¾„を決ã‚られるã‚ã‘ã§ã™ãŒã€å®Ÿã¯ã“れ真円ã ã‘ã§ãªã楕円を作る事もã§ãã‚‹ã‚“ã§ã™ã‚ˆï¼
楕円ã®å ´åˆã¯æ°´å¹³æ–¹å‘ã®å¾„ã¨åž‚ç›´æ–¹å‘ã®å¾„をスラッシュã§åŒºåˆ‡ã£ã¦è¨˜è¿°ã—ã¾ã™ã€‚(詳細後述)
/* 楕円 */
#ellipse {
border: solid 3px #999;
border-radius: 50px / 20px;
}
ã¾ãŸå€¤ã¯å››ã¤ä¸¦ã¹ã‚‹äº‹ã§ã€å·¦ä¸Šã‹ã‚‰æ™‚計回りã«ã€åˆ¥ã€…ã«æŒ‡å®šã™ã‚‹äº‹ãŒã§ãã¾ã™ã€‚背景色ãªã©è«¸ã€…ã®æŒ‡å®šã‚‚組ã¿åˆã‚ã›ã‚‹ã¨ã€é¡”ã®è¼ªéƒã®å‡ºæ¥ä¸ŠãŒã‚Šã§ã™ã€‚
/* è¼ªéƒ */
#rinkaku {
background-color: rgb(255, 240, 232);
border-color:Â #666;
border-style:Â solid;
border-width:Â 2px;
border-radius: 90px 90px 90px 90px / 90px 90px 150px150px;
height:Â 250px;
width:Â 180px;
}
楕円ã«ã¤ã„ã¦
真円ã¯åŠå¾„ãŒã²ã¨ã¤ã§ã™ã€‚対ã—ã¦æ¥•å††ã¯æ°´å¹³æ–¹å‘ã®åŠå¾„ã¨åž‚ç›´æ–¹å‘ã®åŠå¾„ã¨ã€äºŒç¨®é¡žã‚る事ã«ãªã‚Šã¾ã™ã€‚
ã“れã«ã¤ã„ã¦HTMLクイックリファレンスã«éžå¸¸ã«åˆ†ã‹ã‚Šã‚„ã™ã図示ã•れã¦ã„ã¾ã—ãŸã€‚是éžã”覧ãã ã•ã„ã¾ã›ã€‚
border-radius …… 角丸をã¾ã¨ã‚ã¦æŒ‡å®šã™ã‚‹
微調整
ã“ã‚Œã§æ›²ç·šã‚’æã‘ã¾ã—ãŸã€‚ã§ã‚‚ãªã‚“ã ã‹é•ã†ãªãƒ¼â€¦â€¦ãã‚“ãªã¨ãã¯ã€transformã®å‡ºç•ªã§ã™ã€‚
transformã¯ãã®åã®é€šã‚Šã€è¦ç´ を変形ã•ã›ã‚‹ãƒ—ãƒãƒ‘ティã§ã™ã€‚以下ã®ã‚ˆã†ãªæ©Ÿèƒ½ã‚’æŒã¡ã¾ã™ã€‚
- 移動
- 回転
- 傾斜
今回ã¯ã“ã®ã†ã¡å‚¾æ–œã‚’利用ã—ã¾ã™ã€‚平行四辺形ã«å¤‰å½¢ã•ã›ã‚‹æ©Ÿèƒ½ã§ã™ã€‚
傾斜ã¯skew()ã¨ã„ã†é–¢æ•°ã‚’使ã„ã¾ã™ã€‚プãƒãƒ‘ティã®å€¤ã¨ã—ã¦è¨å®šã—ã€å‚¾ã‘る角度を指定ã—ã¾ã™ã€‚
/* ミサワ?ãªè¼ªéƒ */
#misawa {
background-color: rgb(255, 240, 232);
border-color: #666;
border-style: solid;
border-width: 2px;
border-radius: 90px 90px 90px 90px / 90px 90px 150px 150px;
height: 250px;
transform: skew(-5deg);
width: 180px;
}
degã¯ä¸€èˆ¬ã«è¨€ã†ã¨ã“ã‚ã®ã€Œåº¦ã€ã§ã™ã€‚(360度ã§ä¸€å›žè»¢ã«ãªã‚Šã¾ã™ã€‚)
ã‚‚ã†ã²ã¨ã¤ã€å›žè»¢rotate()も眉ã®ã¨ã“ã‚ã§ä½¿ã„ã¾ã—ãŸã€‚ã“ã®æ©Ÿèƒ½ã¯èª¬æ˜Žã—ãªãã¦ã‚‚想åƒä»˜ãã¾ã™ã‚ˆã。
自動的ã«è¦ç´ を追åŠ
最後ã«ã€ãƒ—ãƒãƒ‘ティã§ã¯ãªãセレクターã§ã™ã€‚:beforeã¨:afterã¨ã„ã†ã‚‚ã®ãŒã‚りã¾ã™ã€‚(劇的ï¼ï¼‰
ã“れã¯ç–‘ä¼¼è¦ç´ ã¨è¨€ã†ã‚‚ã®ã§ã™ã€‚:hover疑似クラスãªã‚“ã‹ã®ä»²é–“ã§ã™ã€‚
contentプãƒãƒ‘ティã¨ä½µç”¨ã—ã¦ã€æŒ‡å®šã—ãŸè¦ç´ ã®å‰å¾Œã«è‡ªå‹•çš„ã«è¦ç´ を生æˆã—ã¦è¿½åŠ ã™ã‚‹ã¨ã„ã†æ©Ÿèƒ½ã‚’æŒã¡ã¾ã™ã€‚引用<q>ã®å‰å¾Œã«å¼•用符を付ã‘ã‚‹ã€ã¨ã„ã†ã®ãŒãŠãã‚‰ãæœ€ã‚‚一般的ãªä½¿ç”¨æ–¹æ³•ã‹ã¨æ€ã„ã¾ã™ã€‚
.talk:before {
content: "「";
}
.talk:after {
content: "ã€";
}
師曰ã<q class="talk">ボンカレーã¯ã©ã†ã¤ãã£ã¦ã‚‚ã†ã¾ã„ã®ã </q>
CSS3ã®ãƒŸã‚µãƒ¯ã§ã¯ã€ç›®ã®å‰ã«çœ‰ã€å¾Œã«ç›®çމã€ã¾ãŸå£ã®å¾Œã«å£è¨±ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚ãれãžã‚Œã®ã‚¹ã‚¿ã‚¤ãƒ«ã«ã¤ã„ã¦ã¯ã€ã“ã“ã§ã¯çœç•¥ã—ã¾ã™ã€‚(実際ã®ã‚³ãƒ¼ãƒ‰ã‚’見ã¦ã。)
ã‚ã¨ã¯ã€å‹˜
最終的ãªç·šã®ä½œã‚Šã¨ã‹ã¯ã€çµå±€å‹˜ã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ã“れãらã„ã®è§’度ã ã‹ã‚‰ãƒ¼å¾„ã‚’X pxã«ã—ã¦ãƒ¼Y deg傾ã‘ã¦ãƒ¼ã¨ã„ã†ã®ã¯å°‘ã—ãšã¤æ•°å€¤ã‚’当ã¦ã¯ã‚試ã—ãªãŒã‚‰ä½œã‚Šã¾ã—ãŸã€‚
ã¾ãƒ¼åŠ›æŠ€ã£ã™ã‚ˆâ€¦â€¦ã€‚
実行サンプル
jsdo.itã«ã€ä»Šå›žã®å®Ÿè¡Œã‚µãƒ³ãƒ—ルを公開ã—ã¦ãŠãã¾ã—ãŸã€‚よã‚ã—ã‘れã°ã”覧ãã ã•ã„。
CSS3ã®ãƒŸã‚µãƒ¯ã®ä½œã‚Šæ–¹ã®ã‚µãƒ³ãƒ—ル
ãŠã¾ã‘ : 派生型
ã“れを公開ã—ã¦ã™ãã€GeckoãŸã‚“ãŒforkã—ã¦æ¤æ¯›ã—ãŸä¸Šã«ãƒžã‚¦ã‚¹ãƒœã‚¿ãƒ³ã‚’ãŠã™ã¨ã€Œãã«ã‚…ーã€ã£ã¦ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹ã®ã‚’作ã£ã¦ãれã¾ã—ãŸã€‚ãªã«ã“れãã‚‚ã„ã™ã”ã„ï¼
æ¤æ¯›æ¸ˆã¿ forked from: CSS3ã®ãƒŸã‚µãƒ¯
ã•らã«ãã®å¾Œagoã•ã‚“ãŒã¾ãŸforkã—ã¦ã€ã¶ã‚“投ã’られるよã†ã«ãªã£ã¦ã¾ã—ãŸã€‚ã“れã¯åˆ¥é€”JavaScriptã®ãƒ©ã‚¤ãƒ–ラリを使ã£ã¦ã‚‹ã¿ãŸã„ã§ã™ã。
è½ã¨ã—ã¦ã¿ãŸ forked from: æ¤æ¯›æ¸ˆã¿ forked from: CSS3ã®ãƒŸã‚µãƒ¯
よã‘れã°ã©ãªãŸã‹ã€ãã®å…ˆã‚‚forkã—ã¦æ‰‹ã‚’åŠ ãˆã¦ã¿ã¦ãã ã•ã„ãªã€‚ã¨ã„ã†ã‹ã€ã„ã„åŠ æ¸›é é«ªã‚’åŠ ãˆã¦ã‚ã’ã¦ãã ã•ã„。
ãŠé¡˜ã„ã—ã¾ã—ãŸã‚ˆã€‚





