
çŸä»£ã®ã€ã³ã¿ãŒãããã¯éæ¹ããªãããŒã¹ã§çºå±ããŠããããŠãŒã¶ãŒã®æ°ã¯æ¯æ¥å¢å ããŠããŸãã ããã10幎åã«å¹³åçãªãŠãŒã¶ãŒãã»ãŒãåããã§ãäžéšã®ãã©ã¡ãŒã¿ãŒããããã«ç°ãªã£ãŠããå Žåããã®éãã¯ããé¡èã§é¡èã«ãªããŸãã ãã®éãã¯ãããã€ã¹ãšç»é¢ãµã€ãºã®éãã§ç¹ã«é¡èã§ãã æ¯æ¥ã®ãã©ãã£ãã¯ã«ã¯ãæå°ããæ倧ãŸã§ããŸããŸãªç»é¢è§£å床ãæã€éåžžã«å€ãã®ãŠãŒã¶ãŒãããŸãã æé©åãäžååãªãµã€ãã§ã¯ããŠãŒã¶ãŒããµã€ãã§è²»ããæéãå°ãªããªããŸãã ãããã£ãŠãããããããã€ã¹ãšè§£å床ã§ãµã€ããå¿«é©ã«èªèã§ããããã«ãµã€ããæé©åããããšã¯éåžžã«éèŠã§ãã å®è·µã瀺ãããã«ãã»ãšãã©ã®ãµã€ãã¯ããŸããŸãªããã€ã¹ã«éåžžã«äžååã«é©å¿ããŠãããå€ãã®å
žåçãªåé¡ããããŸãã ãããã®åé¡ã¯ãã¹ãŠãããã€ãã®å€§èŠæš¡ãªãµã€ãã®äŸã«é¢ããèšäºã®åé ã§æ€èšãããŸãã ãããŠãäŸãšããŠãã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ãã䜿çšããŠãé©å¿æ§ã®ããã¬ã¹ãã³ã·ããªã¿ã€ãã°ã©ãã£ã®ç·Žç¿ãšããŒãžã®äœæãéå§ããŸãã
ãã®ãããã¯ã«èå³ããããªããç«ãžããããã
èæ
®ãããåé¡ã¯èè
ã®æèŠã§ããããã®æèŠã¯ãããã®ãµã€ãã®ãŠãŒã¶ãŒãŸãã¯äœæè
ãšç°ãªãå ŽåããããŸãã èè
ã¯ããããã®ãµã€ãã®è©å€ãå·ã€ããããåèªãå°å³ãããžãã¹ã®è©å€ãå·ã€ãããããããšãç®æããŠããŸããã ãããã®äŸã¯ãéçºè
ããµã€ããæ¹åãããšã³ããŠãŒã¶ãŒã«ããè¿ã¥ããŠãèŠèŽè
ãæ¡å€§ã§ããããã«ããããã«æäŸãããŠããŸãã ãŸããèè
ã«ãããšãæé©åã®ãã³ããšãµã€ãã®äŸã¯ãäžååã«æé©åãããŠããŸããã 客芳æ§ã®ããã«ãæå°éã®äº€å·®ç¹ãæã€ããŸããŸãªè¢«éšè
ã®ãµã€ãã®äŸãéžæããŸããã
以äžã¯ãåœç€Ÿãååãããµã€ãã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã æåã®2ã€ã®ã¹ã¯ãªãŒã³ã·ã§ããã¯4kã¢ãã¿ãŒã§æ®åœ±ãããŸããã
ãµã€ãã®ãã¹ã¯ãããããŒãžã§ã³
ç»é¢1

ç»é¢2

ç»é¢3

ãµã€ãã®ã¢ãã€ã«ç
ç»é¢4

åé¡
ãã³ãïŒãµã€ãã®ãããã¿ã€ããäœæããå Žåãç»é¢ã4ã€ã®çããéšåã«åå²ããã¡ã€ã³ã³ã³ãã³ãçšã«äžå€®ã®2ã€ãŸãã¯3ã€ã®éšåãéžæããå¿
èŠããããŸãã ãµã€ãã®ã¡ã€ã³ã³ã³ãã³ããèšäºã®å Žåãäžå€®ãããã¯ã¯ç»é¢ã®2/4-3/4ãå ããå¿
èŠããããŸãã èšäºã®åè¡ã«ã¯ã45ã70æåã®ããã¹ããå«ããå¿
èŠããããŸããããã«åãŸãå Žåã¯ãç¹å®ã®ç»é¢ãµã€ãºã®ãã©ã³ããµã€ãºãå¢ããå¿
èŠããããŸãã ããã¹ãã2次ãããã¯ã«ããå Žåãæé©ãªæåæ°ã¯35ã55ã§ãã ãããã®å€ã¯å€©äºããåããããã®ã§ã¯ãªããé·æéã«ãããã¿ã€ãã°ã©ãã£ã®éçºãšæ¹åã®çµæãšããŠçµéšçã«çºèŠãããå€ã§ãã åºç€ã¯ãããããé ãåããããèªæžæã«äžå¿«æãçããããããšãªããç»é¢ãèµ°ãåãããšãã§ããç®ã®æé©ãªè·é¢ã§ãããšããããšã§ããã äžã®åçã§æãéãç®ã®åããèŠèŠçã«ç€ºããŸããã 察è§ç·ã倧ããã»ã©ãç®ã次ã®è¡ã«ç§»åããã®ãé£ãããªããŸãã ããã«ã€ããŠã¯ãå°éæç®ã§è©³ãã説æãããŠããŸãã

ãã³ãïŒãµã€ãã®å¯Ÿè±¡ãŠãŒã¶ãŒããã€ã©ã€ãããŸãã ãŠãŒã¶ãŒã䜿çšããã¡ã€ã³ã³ã³ãã³ãã決å®ããŸããããŸããŸãªåæããŒã«ãããã«åœ¹ç«ã¡ãŸãïŒããšãã°ãæ€çŽ¢ãšã³ãžã³ããã®ãŠãŒã¶ãŒããã®äžè¬çãªã¯ãšãªïŒã ã¡ã€ã³ã³ã³ãã³ãã¯ç·è²ã§åŒ·èª¿è¡šç€ºãããŠããŸãã ã«ãŒã«ã¯1ã€ã ãã§ããã¡ã€ã³ã³ã³ãã³ãã®ãããã¯ãšãã©ã³ããµã€ãºã¯å€§ãããã»ã«ã³ããªã³ã³ãã³ãã®ãµã€ãºã¯ã¡ã€ã³ã³ã³ãã³ãã®ãµã€ãºä»¥äžã§ãã å Žæã«å€ªåã®ããã¹ããè¿œå ã§ããŸãã ïŒã³ã³ãã³ããéèŠããæ¹æ³ã¯2ã€ãããããŸããïŒå€§ãããµã€ãºãã€ã¿ãªãã¯äœïŒãã¶ã€ã³ã®ãã¶ã€ã³ïŒã倪åïŒã€ã³ã¿ãŒãã§ã€ã¹ã®å Žåã¯ãã¹ãµã€ãºïŒããã€ã©ã€ãïŒ
ãã³ã2ïŒçæ³çã«ã¯ãé©åãªãã©ã³ããµã€ãºãèŠã€ããã«ã¯ç°ãªãããã€ã¹ãå¿
èŠã§ãã ãã ããFirefoxã§ã¯ctrl + mããŒããŒãã·ã§ãŒãã«ããã䜿çšã§ããŸãã ã¯ãã ã§ã¯ã ctrl + shift + i ã次ã«ctrl + mã§ãã ãã©ãŠã¶ã¯ããµã€ãã®é©å¿æ§ã確èªããããã®ããŒã«ããããéããŸãã ç»é¢ã®ãµã€ãºããã£ãããšå€æŽãããµã€ãã§çºçããå€æŽã芳å¯ããŸãã ãµã€ãã®ãã¹ã¯ãããããŒãžã§ã³ã®å Žåãç»é¢ããã®æé©ãªè·é¢ã¯ã75cmãã¿ãã¬ããã®å Žåã¯äŒžã°ããè
ã®è·é¢ãã¹ããŒããã©ã³ã®å Žåã¯è·é¢ã¯äŒžã°ããè
ã®çŽååã§ãã ãã®è·é¢ã§ããã©ã³ããµã€ãºãéžæãããŸãïŒ ãµã€ãºã¯ããã®è·é¢ã§ãµã€ãã®ãã¹ãŠã®è¡šç€ºã³ã³ãã³ããèªã¿ãããããã«éžæããå¿
èŠããããŸãã
- ãµã€ãã®ã¢ãã€ã«ããŒãžã§ã³ïŒ4ã€ã®ã¹ã¯ãªãŒã³ã·ã§ããïŒã«ã¯ãå¯æ¬¡çãªã³ã³ãã³ããå«ããµã€ãããŒããããŸãã ãµã€ãããŒã¯ããã¹ã¯ãããããŒãžã§ã³ã®ãµã€ãã®3çªç®ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ã衚瀺ãããŸãã
å°ããªãã©ã³ããµã€ãºã§ããå€ãã®ãããã¯ãè©°ã蟌ãããšããªãã§ãã ããã èšèšã¯ãæ確ã§ç解å¯èœãªæ§é ãåããã·ã³ãã«ãªãã®ã§ãªããã°ãªããŸããã åé¡ã¯æããèµ€ã§åŒ·èª¿è¡šç€ºãããŸãã
ãã®å Žåãèµ€ããããã¯ãæ°Žå¹³æ¹åã«åé
眮ãããããããã¯ã®åŸã«æ¿å
¥ããå¿
èŠããããŸãã ãµã€ãã®ã¢ãã€ã«çã§ã¯ããµã€ãããŒãåé€ããããšããå§ãããŸãã ãŸããç·è²ã§åŒ·èª¿è¡šç€ºãããŠããã¡ã€ã³ã³ã³ãã³ãã«ã€ããŠã¯ããã©ã³ããµã€ãºã倧ããããå¿
èŠããããŸãã 4çªç®ã®ãµã€ãã§ã¯ãã¢ãã€ã«ããŒãžã§ã³ã®ãµã€ãã®ãã©ã³ãã¯ç»é¢å¹
800ãã¯ã»ã«ã«å¯ŸããŠéåžžã«å°ãããªã£ãŠããŸãã ãã®ãµã€ãºã¯ãå€ãã®ãµã€ãã®äžã§æå°ã§ãã ç§ã®æèŠã§ã¯ããã®ãµã€ãºã¯320ã480ãã¯ã»ã«ã®ç»é¢å¹
ã«æé©ã§ãã
æ¯èŒçæé©åããããµã€ãïŒ
RTã§ã¯ããµã€ãã®ã¢ãã€ã«ããŒãžã§ã³ã«æ³šç®ãã䟡å€ããããŸããããã¯æé«ã®1ã€ã§ãã æ®å¿µãªããããããã®ãµã€ãã¯ãŸã 4k解å床ã«ããŸãé©ããŠããŸããã èŠããŠããã¹ãäž»ãªããšã¯ãç¹ã«èŠåãäœäžããæ¥ã®çµããã«ããµã€ãã¯ã©ããªããã€ã¹ã§ãå¿«é©ã«èªãããšãã§ãããšããããšã§ãã
èªè
ã¯æ¬¡ã®ããã«èšãããšãã§ããŸãã-ãããã ãã§ããåé¡ã¯ããã£ãŠããŸããããã«ä¿®æ£ããŸããã æ¥ãã§ã¯ãããªããšçããããšãã§ããŸãã ãããŠã以äžã§ã¯ãç¥èŠã®å¿ççç¹åŸŽã®1ã€ã説æããŸãã ç§ã¯åœŒå¥³ãæªãç¿æ
£ãšåŒã³ãŸãã
æªãç
人ãããŠã¢ãã³ã·ãããã£ãŠäžå¿«æãåŒãèµ·ããéŽã2幎éå±¥ããå Žåã人ã¯ç¿æ
£ã身ã«ä»ããŸãã ä»ãããªãã圌ã«å¿«é©ã§è¯ãéŽãäžãããã圌ã¯åã«çããŸãïŒ-ãã©ããªã²ã©ããäžå¿«ãªéŽãç§ã«ãããŸãããïŒç§ã«è¿ããŠãã ãã!!!ãã ããã¯ã圌ãããã®ç¿æ
£ã«éåžžã«å·çããŠãããšããäºå®ã®ããã§ããã圌ãããã®ç¿æ
£ãç¹°ãè¿ãæ©äŒãæ¥æ¿ã«å¥ªãããå Žåã圌ãã¯èªåèªèº«ã®äžéšã倱ã£ããã®ããã«äžå¿«ã«æããŸãã ããšãã°ãç¹å®ã®åé¡ãè¿
éã«è§£æ±ºããæ¹æ³ã¯ãããŸããããã®çç±ãããå¿ççæ³ã¯ç¹ã«ããã€ãã®ã»ãã·ã§ã³ã§äœæ¥ã䌞ã°ããŸãã ç¹ã«æèœãããç§ã¯ããã®çã¿ãåãæ»ããããè¯ãç掻ãå®å
šã«æŸæ£ããããã«ããããåªåãããããšãã§ããŸãã åãçç±ã§ããµã€ãã®æ°ããããŒãžã§ã³ãå±éãããã¹ãŠã®è©Šã¿ã¯ãå€ãã®å Žåãäžæºãæã€ãŠãŒã¶ãŒã«ãã£ãŠæºããããŸãããµã€ããéåžžã«å€§ããå ŽåããŸã èªå€§åºåããããŸãã ãããŠãã®æç¹ã§ããæ°ãããµã€ãã®ãã¶ã€ã³ã奜ãã§ããïŒããšããçš®é¡ã®ã¢ã³ã±ãŒããè¡ãã¹ãã§ã¯ãããŸããã çãã¯åãªãææšã§ã¯ãããŸããã ãããŠããŠãŒã¶ãŒã®äžæºã®ããã«ãééããç¯ãããããªããŸã-å€ãããŒãžã§ã³ã®ãµã€ããè¿ãããšã§ãã
ãŠãŒã¶ãŒãæ°ãããã¶ã€ã³ã«åŸã
ã«æ
£ããŠããããã«ããã¹ãŠã®å€æŽããã£ããè¡ãããšããå§ãããŸãã
ããŠãçè«ã§ç§ãã¡ã¯å®äºããæãçããã®-ç·Žç¿ãå§ããããšãã§ããŸãã
å®çšéš
ããŒãžã®ã¬ã€ã¢ãŠãïŒ Hamster framework documentation
ãŸããããã¥ã¡ã³ãã«ã¯ãæ
£ããã®ã«åœ¹ç«ã€è¿œå ã®çè«çãªè³æããããŸãã ãŸããèšäºã§äœããæ確ã§ãªãå Žåã¯ãããã¥ã¡ã³ãã§å€ãã®ããšã説æãããŠããŸãã
ããã§å©çšå¯èœãªãœãŒã¹ã³ãŒãïŒ Github
ãã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ã®åäœã説æããã ãã®å Žåãããã¯ãã¯ããšé¢æ°ã®èšèªã§ãããåŸã§ç°¡åã«cssã³ãŒããšä»»æã®æž¬å®åäœã«å€æã§ããŸãã ãããŠãããªããã»ããµãšæ¯èŒããŠæãéèŠãªãã©ã¹ã¯ãCSSã®å¯èªæ§ãæ倧ã§ãããã©ã®ããããã£ã䜿çšãããããããŠã³ã³ãã¯ãã§ã·ã³ãã«ãªæ§æãç¥ã£ãŠããããšã§ãã
ãŸããnode.jsãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ã httpsïŒ //nodejs.org/en/ããããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
ãããžã§ã¯ãã®äœæ¥ãã£ã¬ã¯ããªãäœæããŸãã ã³ã³ãœãŒã«ãèµ·åãã次ã®ã³ãã³ãã䜿çšããŠäœæ¥ãã£ã¬ã¯ããªã«ç§»åããŸãã
cd
æ°ãããããžã§ã¯ããäœæããŸãã
npm init
å¿
èŠãªnpmæ¡åŒµæ©èœãã€ã³ã¹ããŒã«ããŸãã
npm install gulp gulp-sourcemaps gulp-postcss@6.4.0 precss postcss-hamster --save-dev
gulp-postcss@6.4.0-ãã®ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸããå
¬éæã«ææ°ããŒãžã§ã³ã«ãã°ãããã ã€ã³ããŒããæ£ããæ©èœããªãã£ãããã§ãã
ãã£ã¬ã¯ããªã«gulpfile.jsãäœæããŸã-ããã¯ãããžã§ã¯ãã§å®è¡ããã¡ã€ã³ãã¡ã€ã«ã§ãã
var gulp = require("gulp"), sourcemaps = require("gulp-sourcemaps"), postcssgulp = require("gulp-postcss"), precss = require("precss"), hamster = require("postcss-hamster"); gulp.task("css", function () { var processors = [precss({ "lookup": false }), hamster]; return gulp.src("./src/style.css") .pipe(sourcemaps.init()) .pipe(postcssgulp(processors)) .pipe(sourcemaps.write(".")) .pipe(gulp.dest("./css")); }); gulp.task("default", ["css"]);
次ã«ãsrcãã£ã¬ã¯ããªã«base.cssãã¡ã€ã«ãäœæããŸã
@reset; @box-sizing-reset; nav { user-select:none; } body { font-family: @font-family; color: @font-color; background-color: #dee6ea; font-weight: @font-weight; height: 100%; position: relative; } @ruler;
@reset -Eric Meyerã®ãReset CSSã2.0ãäœæããŸã
@ normalize-ããŒãã©ã€ãºãæžã蟌ã¿ãŸãã
奜ããªãã®ãéžæããŠãã ããã
@ box-sizing-reset-ããã¯ã¹ãµã€ãºã®ãªã»ãããè¡ããŸãã ãããäœã§ããããªããããå¿
èŠãªã®ãããããªãå Žåã¯ã次ã®ãªã³ã¯ãã芧ãã ãã ïŒ https : //css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
@ruler-åçŽãªãºã ããããã°ããããã®ã°ãªãããè¿œå ããŸãã
@ã§å§ãŸãæ®ãã®ããŒã¯ãŒãã¯å®æ°ã§ãããvaribales.cssãã¡ã€ã«ã§å®çŸ©ããŸãã ãŸãããã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ã®åºæ¬èšå®ãå«ãŸããŠããŸãã ãã¹ãŠã®ãã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯èšå®ã¯ã @ hamster {}ãããã¯ã«å«ãŸããŠããŸã-ãããã¯ã°ããŒãã«èšå®ã§ãã @ihamster {}ã¯ããŒã«ã«èšå®ã§ãã @hamster end; ããŒã«ã«èšå®ããªã»ããããã°ããŒãã«ãè¿ããŸãã å¿
èŠãªãã®ã«ã€ããŠã¯ãããã¥ã¡ã³ããèªãããšãã§ããŸãã ãŸããããã¥ã¡ã³ãã§ã¯ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒã«ã€ããŠèª¬æããŠããŸãã
ç§ãã¡ã«ãšã£ãŠæãéèŠãªã®ã¯ïŒ
font-size-åºæ¬ãã©ã³ããµã€ãºãéåžžã¯ãããã©ã«ãã§pèŠçŽ ãšå€ãã®å°æåèŠçŽ ã«èšå®ãããŸãã
line-height-è¡éé-åçŽãªãºã ã
font- ratio-ã¢ãžã¥ã©ãŒã¹ã±ãŒã«ã®ä¿æ°ã
ãã©ã³ããµã€ãºã®ã¢ãžã¥ã©ãŒã¹ã±ãŒã«ã«åºã¥ããŠçæãããã¢ã«ãã¡ãããã®ãšã€ãªã¢ã¹ã䜿çšããŸãã
@hamster { --font-size: 16px; --line-height: 1.35; --font-ratio: 1.2; --remove-comments: true; --unit: rem; --px-fallback: true; --rem-fallback: false; --properties: extend; --ruler-style: switch ruler-debug; --ruler-color: rgba(2, 179, 228, .7); --ruler-icon-colors: #fff #02b3e4; --ruler-icon-position: "position:fixed;top: spacing(1.125);left: spacing(.625);"; --ruler-icon-size: spacing(.75); --ruler-pattern: 1 0 0 0; --ruler-scale: 4; --ruler-thickness: 1; --round-to-nearest-half-line: false; --min-line-padding: 1px; --font-weight: 400; --font-color: #304458; --header-color: #02b3e4; --sheader-color: #DA083D; --background-color: #f5f5f5; --block-color: #F2FBFF; --hover-color: #1bba13; --footer-color: #1C2733; --wrapper-background: #fff; --code-color: #faf9fa; --font-family: Roboto, "Open Sans", "PT Sans", "Segoe UI", "Helvetica Neue", Helvetica, Verdana, Tahoma, Arial, sans-serif; }
次ã«ãtypography.cssãã¡ã€ã«ãäœæããŸããããã¯ãããã¹ãèŠçŽ ã®ã¡ã€ã³ã¹ã¿ã€ã«ãä¿åãããã¡ã€ã³ãã¡ã€ã«ã§ãã fs xxl
ã¯ãxxlãšããååã®ããã¹ããšã€ãªã¢ã¹ã®ä»£ããã«ãã©ã³ããµã€ãºãæžã蟌ã¿ãŸãã ãã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ãã§èª¬æãããŠããããã«ãç¬èªã®ãšã€ãªã¢ã¹ãäœæã§ããŸãã
å®çŸ©æžã¿ã®ãšã€ãªã¢ã¹ã æ°å€ã倧ããã»ã©ããã©ã³ããµã€ãºã倧ãããªããŸãã
Alias Short Alias Size tiny t -2 small s -1 base b 0 medium m 1 large l 2 xlarge xl 3 xxlarge xxl 4 xxxlarge xxxl 5
ã¹ããŒã¹ïŒïŒé¢æ°ã¯ããã©ã¡ãŒã¿ãŒã§æž¡ãããæ°å€ã«è¡ã®é«ããä¹ç®ããåä¿¡ãããµã€ãºãè¿ããŸãã ãã¹ãŠã®æž¬å®åäœã«ã€ããŠãèšç®ã¯èªåçã«è¡ãããŸãã ãã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ã«ã¯ãèšç®çšã®é¢æ°ãããã€ããããŸããããããæãäžè¬çã§ãã ãã®ãªã³ã¯ã§æ©èœã®å®å
šãªãªã¹ããèŠã€ããããšãã§ããŸãã
adjust-font-size ïŒ-ãã©ã³ããµã€ãºã«ã€ããŠã¯ãfont-sizeããããã£ãèšè¿°ããè¡ééãèšç®ããŸãã ãµã€ãºã¯ãpxãemãremã§èšå®ã§ããŸãã
%strong { font-weight: 500; } %hlight { color: @sheader-color; } h1 { text-align: center; font-weight: 600; adjust-font-size: fs xxl; color: #fff; margin-top: spacing(1); margin-bottom: spacing(1); } h2 { @extend %strong; color: @header-color; adjust-font-size: fs xl; margin-top: spacing(2); margin-bottom: spacing(1); padding-left: spacing(1); padding-right: spacing(1); border-left: spacing(.2) solid @header-color; background: @code-color; } h3 { @extend %hlight; adjust-font-size: fs l; margin-top: spacing(2); margin-bottom: spacing(1); } h4 { @extend %hlight; adjust-font-size: fs m; margin-top: spacing(1); } h5 { @extend %hlight; adjust-font-size: fs b; margin-top: spacing(1); } h6 { @extend %hlight; adjust-font-size: fs s; margin-top: spacing(1); } strong { @extend %strong; } p { adjust-font-size: fs b; @hyphens; margin-bottom: spacing(1); } a { color: @header-color; &:hover { color: @font-color; } } ul, ol { adjust-font-size: fs b; list-style-position: inside; margin-bottom: spacing(1); } ul { list-style: disc inside; } ol { list-style: decimal inside; } ul a, ol a { text-decoration: none; } code, pre { font-family: "Roboto Mono", Inconsolata, monospace; margin: 0; padding: 0; text-align: left; tab-size: 4; hyphens: none; @forcewrap; }
ã¡ã€ã³ã®style.cssãã¡ã€ã«ãäœæããæ®ãã®ãã¡ã€ã«ããã®äžã«å«ããŸãã
@import "variables.css"; @import "base.css"; @import "typography.css";
ããã§ãã³ã³ãœãŒã«ã«å®å
šã«å
¥åã§ããŸãã
gulp
cssãã£ã¬ã¯ããªã®åºåã§ãã¹ã¿ã€ã«ãå«ãstyle.cssãã¡ã€ã«ãååŸããŸãã ïŒåäœã¯ä»»æã§ããç§ãã¡ã¯remèšå®ã§éžæããŸãããïŒ
h1 { text-align: center; font-weight: 600; font-size: 2.0736rem; line-height: 2.7rem; color: #fff; margin-top: 1.35rem; margin-bottom: 1.35rem; } h2 { color: #02b3e4; font-size: 1.728rem; line-height: 2.7rem; margin-top: 2.7rem; margin-bottom: 1.35rem; padding-left: 1.35rem; padding-right: 1.35rem; border-left: 0.27rem solid #02b3e4; background: #faf9fa; } h3 { font-size: 1.44rem; line-height: 2.7rem; margin-top: 2.7rem; margin-bottom: 1.35rem; } ...
ãããã1ã€ã¯å€§ããªè¿·æã§ã¯ãããŸãã-ãã¹ãŠã®ã¹ã¿ã€ã«ã¯16pxã®åºæ¬ãµã€ãºçšã«çæãããŸããã ãããŠãç§ãã¡ã®CSSã¯é©å¿æ§ãå¿çæ§ããŸã£ãããããŸããã ã¡ãã£ã¢ã¯ãšãªãä»ããŠãã®ç¶æ³ãä¿®æ£ããç»é¢ãµã€ãºããšã«ç°ãªããµã€ãºãçæããŸãã è€è£œããCSSã³ãŒãã¯ã @ copyãã¯ãã䜿çšããŠãfullããšããååã®å€æ°ã«ã³ããŒãããŸããä»»æã®å€æ°åãæå®ã§ããŸãã 次ã«ããã©ã¡ãŒã¿ãŒã§å€æ°åãæå®ãã @ pasteãã¯ãã䜿çšããŠãã®CSSã³ãŒããæ¿å
¥ããŸãã éå§ããã«ã¯ããã©ãŠã¶ãã¡ãã£ã¢ã¯ãšãªããµããŒãããŠããªãå Žåã16åã®ãã©ã³ããµã€ãºã®ãã©ãŒã«ããã¯ã®ããã«æ¿å
¥ããŸãã ã¡ãã£ã¢ã¯ãšãªã¯ããã¹ãŠã®ãã©ãŠã¶ã®çŽ98ïŒ
ããµããŒãããŠããŸãã ãããŠãstyle.cssãã¡ã€ã«ã®cssã¯ä»¥äžã®ããã«ãªããŸãã
@import "variables.css"; @import "base.css"; @copy full { @import "typography.css"; } @paste full; @media screen and (max-width: 479px) { @ihamster { --font-size: 14px; --line-height: 1.25; } @baseline html; @ruler; @paste full; @hamster end; } @media screen and (min-width: 480px) and (max-width: 599px) { @ihamster { --font-size: 15px; --line-height: 1.3; } @baseline html; @ruler; @paste full; @hamster end; } @media screen and (min-width: 800px) and (max-width: 1279px) { @ihamster { --font-size: 18px; --line-height: 1.4; } @baseline html; @ruler; @paste full; @hamster end; } @media screen and (min-width: 1280px) and (max-width: 1599px) { @ihamster { --font-size: 19px; --line-height: 1.5; } @baseline html; @ruler; @paste full; @hamster end; } @media screen and (min-width: 1600px) and (max-width: 1919px){ @ihamster { --font-size: 20px; --line-height: 1.55; } @baseline html; @ruler; @paste full; @hamster end; }
以äžãéå§ããŸãã
gulp
åºåã§ã¯ãããŸããŸãªç»é¢ãµã€ãºã«åãããŠæåäœè£ã調æŽããŸãã æ¬åœã«ãããªã«åçŽãããªãã§ããïŒ ãããã®æäœäžã«å¿é
ããªãã§ãã ããããµã€ãºã®ãã¹ãŠã®å²åãä¿åãããŸãïŒ ãã¹ãŠã®ãµã€ãºã¯ãåºæ¬ãµã€ãºãåºæºãšããŠèšç®ãããŸãïŒ ããšãã°ãadjust-font-sizeïŒ1.5remãšæžããšããã¬ãŒã ã¯ãŒã¯èªäœããèšå®ã§åäœãšããŠæå®ãããç®çã®æž¬å®åäœã®ãµã€ãºãèšç®ããŸãã
å®éšçã«æåã§å¯žæ³ãéžæããã®ã¯å°ãäžäŸ¿ã§ãã ããããç§ã¯ããã«é²ãã§ããã©ãŠã¶ã®è¡šç€ºé åã®ãµã€ãºã«åºã¥ããŠåçŽãªãºã ãèªåçã«èšç®ããäžçåã®æ©åšãäœããŸããã
ãããã©ã®ããã«æ©èœãããã¯ã èšäºã«èšèŒãããŠããŸã ã
ããã§ãstyle.cssã¯æ¬¡ã®åœ¢åŒãåããŸãã
@import "variables.css"; @import "base.css"; @copy full { @import "typography.css"; } @paste full; @media screen and (max-width: 799px) { @ihamster { --font-size: 14px; --line-height: 1.25; --to-font-size: 18px; --to-line-height: 1.4; --viewport: 320px 800px; --unit: vw; } @ruler; @paste full; @hamster end; } @media screen and (min-width: 800px) and (max-width: 1919px){ @ihamster { --font-size: 18px; --line-height: 1.4; --to-font-size: 21px; --to-line-height: 1.5; --viewport: 800px 1920px; --unit: vw; } @ruler; @paste full; @hamster end; } @media screen and (min-width: 1920px){ @ihamster { --font-size: 21px; --line-height: 1.5; --to-font-size: 42px; --to-line-height: 1.6; --viewport: 1920px 3840px; --unit: vw; } @ruler; @paste full; @hamster end; }
--font-size: 21px; // , 1920px --line-height: 1.5; // , 1920px --to-font-size: 42px; // , 3840px --to-line-height: 1.6; // , 3840px --viewport: 1920px 3840px; // , . --unit: vw; // vw + calc
以äžãéå§ããŸãã
gulp
ã芧ã®ãšãããcssã³ãŒãã«ããã¡ãã£ã¢ã¯ãšãªã®æ°ãæžããåºåãã¡ã€ã«ã®ãµã€ãºãå°ãããªããŸããã
@media screen and (max-width: 799px) { h1 { text-align: center; font-weight: 600; font-size: calc(1.728vw + 23.5008px); line-height: calc(3.2083vw + 24.7333px); color: #fff; margin-top: calc(1.6042vw + 12.3667px); margin-bottom: calc(1.6042vw + 12.3667px); } h2 { color: #02b3e4; font-size: calc(1.44vw + 19.584px); line-height: calc(3.2083vw + 24.7333px); margin-top: calc(3.2083vw + 24.7333px); margin-bottom: calc(1.6042vw + 12.3667px); padding-left: calc(1.6042vw + 12.3667px); padding-right: calc(1.6042vw + 12.3667px); border-left: calc(0.3208vw + 2.4733px) solid #02b3e4; background: #faf9fa; } h3 { font-size: calc(1.2vw + 16.32px); line-height: calc(3.2083vw + 24.7333px); margin-top: calc(3.2083vw + 24.7333px); margin-bottom: calc(1.6042vw + 12.3667px); } ... } @media screen and (min-width: 800px) and (max-width: 1919px){ h1 { text-align: center; font-weight: 600; font-size: calc(0.5554vw + 32.8814px); line-height: calc(1.125vw + 41.4px); color: #fff; margin-top: calc(0.5625vw + 20.7px); margin-bottom: calc(0.5625vw + 20.7px); } h2 { color: #02b3e4; font-size: calc(0.4629vw + 27.4011px); line-height: calc(1.125vw + 41.4px); margin-top: calc(1.125vw + 41.4px); margin-bottom: calc(0.5625vw + 20.7px); padding-left: calc(0.5625vw + 20.7px); padding-right: calc(0.5625vw + 20.7px); border-left: calc(0.1125vw + 4.14px) solid #02b3e4; background: #faf9fa; } h3 { font-size: calc(0.3857vw + 22.8343px); line-height: calc(1.125vw + 41.4px); margin-top: calc(1.125vw + 41.4px); margin-bottom: calc(0.5625vw + 20.7px); } .... } ...
æ®å¿µãªããã vw + calcã¯ãã©ãŠã¶ã®ã94ïŒ
ã®ã¿ããµããŒãããããã«ãã©ãŠã¶ã®èšç®ã«ãªãŒããŒãããããããŸãã ãããããããè¶
ããŠãçŸä»£ã®ãã©ãŠã¶ã®å°æ¥ã¯vwã§å®å
šã«ãµã€ãžã³ã°ã§ããŸãã
PSã äžéšã®ç»é¢ãµã€ãºã§ã¯ãããã¥ã¡ã³ããµã€ãã®ã³ã³ãã³ããåçŽãªãºã ã°ãªããã«å¯ŸããŠãããã«å€åããããšã«æ°ã¥ãããããããŸãããããã¯ããµããã¯ã»ã«ã¬ã³ããªã³ã°ãã¯ãããžãŒãšãã¹ãŠã®ãã©ãŠã¶ãŒãç°ãªãæ¹æ³ã§å®è£
ããå€ãç°ãªãæ¹æ³ã§äžžããŠããããã§ãã ããã¯ãcalcã®å€ã§ç¹ã«é¡èã§ãã https://johnresig.com/blog/sub-pixel-problems-in-css/
ãããžã§ã¯ãã¢ã»ã³ããªã200ããªç§ãŸã§é«éåããå Žåã¯ãcssnext postcssã¢ãžã¥ãŒã«ãç¡å¹ã«ããŠïŒãããžã§ã¯ãã«æ¥ç¶ããå ŽåïŒãautoprefixerãåå¥ã«æ¥ç¶ããããšããå§ãããŸãã cssnextã®å®è·µã瀺ããŠããããã«ããããžã§ã¯ãã®ãã«ãé床ãå°ãªããšã5ååäžããŸãã
ãŸãšãããšã ã芧ã®ãšããããã¹ãŠãéåžžã«ç°¡åã§ã·ã³ãã«ã§ãããæå°éã®ã³ã¹ãã§å€§éã®é¡äŒŒããcssã³ãŒããçæã§ããŸãã æ©èœã¯ã¿ã€ãã°ã©ãã£ã®çæã«éå®ãããŸããã ãã¿ã³ããµã€ãããŒã®ãµã€ãºãªã©ãããŸããŸãªèŠçŽ ã®é©å¿ãµã€ãºãçæã§ããŸãã ããã«äŸãèŠã€ããããšãã§ããŸãã
ããªãã¯ãã¹ãŠã®ç³ãåºãšé¡ããã®ã¿ãŒã§è¡šçŸã§ããŸãã ãŸãããããžã§ã¯ãã®éçºãšéçºã«åå ããããšãã§ããŸãã
ãµããŒã/ããŒã¯ïŒ Gitter
ããã¥ã¡ã³ãïŒ RU
誰ã«ãšã£ãŠãç°¡åãªã¬ã€ã¢ãŠããšæåãããããžã§ã¯ãïŒ
ããããããã ã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯éçºè