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
26
Eye Tracking on the Browser
tkckaneko
0
83
IEEE754を完全に理解した
tkckaneko
1
74
CSSのトレンドをみんなで見よう -2021年-
tkckaneko
0
91
多分これが一番早いと思います
tkckaneko
0
25
暗黒面の話
tkckaneko
0
22
CSR / SSR / SSG / JAMstack
tkckaneko
0
67
BOLT
tkckaneko
0
22
Visual Effect Graphをさわってみた
tkckaneko
0
29
Other Decks in Technology
See All in Technology
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
1.5k
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
1
200
Kubernetesで作るAIプラットフォーム
oracle4engineer
PRO
2
250
やさしい認証認可
minorun365
PRO
29
12k
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
0
230
What's new in OpenShift 4.19
redhatlivestreaming
1
170
データベースの引越しを Ora2Pg でスマートにやろう
jri_narita
0
200
Nonaka Sensei
kawaguti
PRO
3
590
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #開発生産性_findy
takabow
1
350
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
340
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
Featured
See All Featured
Visualization
eitanlees
146
16k
Become a Pro
speakerdeck
PRO
28
5.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Writing Fast Ruby
sferik
628
61k
Building an army of robots
kneath
306
45k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Adopting Sorbet at Scale
ufuk
77
9.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
900
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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