Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSS Logical Properties and Values
Search
Kaneko Takeshi
December 01, 2020
Technology
0
32
CSS Logical Properties and Values
Kaneko Takeshi
December 01, 2020
Tweet
Share
More Decks by Kaneko Takeshi
See All by Kaneko Takeshi
オープンソースライセンスについて勉強する定期
tkckaneko
0
27
Eye Tracking on the Browser
tkckaneko
0
83
IEEE754を完全に理解した
tkckaneko
1
75
CSSのトレンドをみんなで見よう -2021年-
tkckaneko
0
92
多分これが一番早いと思います
tkckaneko
0
25
暗黒面の話
tkckaneko
0
23
CSR / SSR / SSG / JAMstack
tkckaneko
0
68
BOLT
tkckaneko
0
28
Visual Effect Graphをさわってみた
tkckaneko
0
30
Other Decks in Technology
See All in Technology
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.5k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
260
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
930
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
3
220
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
320
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
3
1.1k
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
320
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Statistics for Hackers
jakevdp
799
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Six Lessons from altMBA
skipperchong
29
4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Transcript
CSS Logical Properties and Values
marginとかpaddingを設定するときどうしてます? margin-topとかpadding-leftって指定している? それは間違いではないです でも、今はそう書きません margin-block-start、padding-inline-startって書きます! これを論理プロパティ(Logical Propaties)って言います
論理プロパティ レイアウトの方向を物理的ではなく論理的に制御します CSS Writing Modesでコンテンツの方向は定義されます アラビア語は右書き、日本語だと縦書きなどあるので CSS Grid、Flexboxは既に論理プロパティでの指定になっています
論理プロパティ レイアウトの方向を物理的ではなく論理的に制御します CSS Writing Modesでコンテンツの方向は定義されます アラビア語は右書き、日本語だと縦書きなどあるので CSS Grid、Flexboxは既に論理プロパティでの指定になっています
論理プロパティ 例えば、普段の日本語サイトだと左から右へ文字を書きます アラビア語では右から左に書きます そのため、text-align: leftって物理プロパティで書いてると、direction: rtlって指定してもアラビア語なのに左寄せになってしまいます 論理プロパティの場合はtext-align: startとします
論理プロパティ direction: rtl;
論理プロパティ text-align: start;
論理プロパティはインライン方向(Inline axis)とブロック方向 (Block axis)で記述します 普段書き慣れている英語の場合にはこんな感じになります margin margin-block-start = margin-top margin-block-end
= margin-bottom margin-inline-start = margin-left margin-inline-end = margin-right 論理プロパティ
インライン方向はコンテンツの流れる方向を意味します なので、横書きの場合にはには水平方向、縦書きの場合には垂直方向 になります 書き方はinline-start、inline-endです インライン方向
ブロック方向はコンテンツの流れと垂直の方向を意味します なので、横書きの場合にはには水平方向、縦書きの場合には垂直方向 になります 書き方はblock-start、block-endです ブロック方向
要素のサイズも物理プロパティではなく、コンテンツのフローに併せて論 理プロパティで書くことができます そうすれば、縦書き、横書きで要素のサイズを切り替えられます 横書き(英語・アラビア語)の場合 widthは、inline-sizeに heightは、block-sizeに 縦書き(日本語)の場合 widthは、block-sizeに heightは、inline-sizeに 高さと幅
positionの座標も論理プロパティで書けます ただ、英語の場合にtop = block-startとはなりません top = inset-block-startです inset-*を付けるのでめんどくさそうですが、物理プロパティではできな かった省略記法が使えるのでかなり便利です positionの座標
inset: 0 0 0 0; top: 0px; bottom: 0px; left: 0px; right: 0px;
- Chrome、Firefoxでは既に対応済みです(IE11?なんのこと?) - それから、物理プロパティがなくなるわけではありません - 影を付ける場合などでは物理的な意味合いも強いので、そのまま物理プ ロパティが使われると思われます - それにアラビア語や縦書きに対応することなんて、そうそうないかと思うの で、物理プロパティで書いても問題はないかもしれません
- ただ個人的な意見ですが、これからのレイアウトなどはFlexboxやCSS Gridが使われるのですから、併せて論理プロパティで指定するほうがキレ イではないかと個人的には思います まとめ
参考 CSS Logical Properties and Values Level 1 https://www.w3.org/TR/css-logical-1/ Can
I use Logical Properties ? https://caniuse.com/#search=Logical%20Properties もしも桃太郎が一行がITのスタートアップだったら https://anond.hatelabo.jp/20190526220716 New CSS Logical Properties! https://medium.com/@elad/new-css-logical-properties-bc6945311ce7