Meguro.css #7
https://gyazo.com/65de3617dad52c6b82ff3dfb30c6470a
https://megurocss.connpass.com/event/145780
Sassに頼らないCSS設計
https://speakerdeck.com/takanorip/css-design-independent-of-sass
takanorip
SassはToo Fatだと思ってる
Sassに頼らなくする方法
上書きをしない
過度な共通化をしない
DRYは諦める
Custom properties
scopedなCSSを書く
styled-component、emotion
フラットなCSSを書く
ネストを深くするのは
React Nativeにおける、Styleとの向き合いかた
https://styles-in-react-native.naturalclar.now.sh/
Naturalclar
株式会社CureApp
React Native
クロスプラットフォーム開発ができるフレームワーク
React.jsがわかっていれば似たような記述ができる
<View>、<Text>
スタイルの付け方
Webと書き方は似てるが
CSSファイルをそのまま使えない
StyleSheetというAPIがある
CSS in JSと原理は一緒
Webとの差分
Displayは基本flex
yogaをつかってViewを作成
各要素がflexboxで実装されている
grid layoutの要望もあがってるが音沙汰なし
Flexdirectionはデフォルトでcolumn
縦で並べるため
webの場合デフォルトで横並び
ショートハンドは使えない
marginVerticalやpaddingHorizontalが用意されてる
flexとの微妙な差異
Webでのflex: 1はflex-grow: 1, flex-shirink: 1, flex-basis: 0
RNではflex: -1と書ける
widthとheightを満たそうとする
minWidthとminHeightを満たす
flex-grow: 1にしたときは?
RNだとflex-basisがautoになる
スクロールビューの動作を満たすための仕様
Scroll動作が行えない
Design Tokensを考える前に俺たちは変数名について考え直すことがあるのではないか
yamanoku.icon発表
詳細度調整擬似クラス
https://speakerdeck.com/glico800/xiang-xi-du-diao-zheng-ni-si-kurasufalseshi-isuo-wokao-etemita
ShoEzawa / glico800
株式会社ビザスク
ビザスクLite
:where()
2019/10/01時点でWorking Draft
詳細度の計算時に無視する擬似クラス
!importantと同様に詳細度に干渉しそう
きちんと使えばhoverと同様使えそう?
実用性のある例
擬似クラス
属性セレクタ
Chrome 78 Betaで試すCSS Properties and Values API
https://slides.araya.dev/meguro-css-7/
あらや
CSS Properties and Values APIとは
CSSのカスタムプロパティを構造化するためのAPI
初期値とsyntaxを指定することが出来る
syntax
使える文字列は draft で定義されている。
<length>
<number>
<percentage>
<color>
<image>
etc...
通常は不穏な値が入っていると初期の状態が表示されるが
カスタムプロパティの初期値が入っていると不穏な値が入っていても尊重される
Stylelintの取扱説明書
https://speakerdeck.com/mo_ro/stylelintfalsequ-xi-shuo-ming-shu
moro
stylelint
潜在的なエラーを発見しスタイルに一貫性をもたせる
例
タイポ
書き方
#fffじゃなくて#FFF
準備
stylelint
yarn add -D stylelint
configファイル
.stylelintrc.json
実践的な例
message
エラーメッセージを設定できる
husky&lit-staged
commit前にlintを走らせることが出来る