ここでは,このフォルダにあるCSSについて説明します.CSSを加筆する際は,まずこの説明を読んでから作成してください.
このファイルの説明は,CSSに関する基礎知識を前提としています.
@layouts
や@components/utils
にある.astro
ファイルには,そのコンポーネントだけに適用されるCSSを一緒に記述することができます.@styles
にあるべきCSSと@layouts
や@components/utils
にあるべきCSSの棲み分けは,以下のようになります.
@styles
:以下の2種類のCSSを書きます.- グローバルに適用されるCSS:各ページのMarkdownの範囲に適用されるべきCSS
- 多くのMarkdownで利用されるCSS:
.box
やimg.medium
などのユーティリティクラス
@layouts
:ヘッダーやフッターなど,各ページのMarkdownの範囲外でのみ利用されるCSSを書きます.@components/utils
:各コンポーネントの中でのみ利用されるCSSを書きます.
@styles/components
にはユーティリティクラスが定義されています.これらのクラスはグローバルに適用されており,Markdown内で適用することができます.その際には,IALの記法(README参照)を利用するとクラスを適用する際にわざわざHTMLを書く必要がなく便利です.
記述ファイル:components/box.scss
リンク等の強調表示などを目的として,要素に囲みを付けるために利用するクラスです.
.box
- 最も基本的な囲みです.文字色と同じ色の幅
1px
の枠線が付加されるほか,ブロック要素として扱われます. - 利用例:
@pages/utokyo_account/index.mdx
- 最も基本的な囲みです.文字色と同じ色の幅
.box--important
.box
のスタイルに加えて,枠線の幅が2px
に,文字が太字に,文字のサイズがlarger
になります.- 利用例:
@pages/zoom/create_room/auth/index.md
.box--alert
.box
のスタイルに加えて,枠線の幅が2px
に,文字が太字に,文字色が$red
になります.- 利用例:
@pages/notice/20210403-utnet.md
strong.box
,b.box
strong
要素やb
要素に.box
クラスを付与すると,枠線の幅が2px
に,文字が太字になります..box
を付与しているため,これらはブロック要素として扱われます.- 利用例:
@pages/events/2022-slack/index.md
現在の実装では,strong
とb
以外の要素に対して「枠線幅2px
」と「太字」のスタイルのみを適用するクラスはありません.そのため,文字サイズや文字色を変えずにこれらのスタイルを適用する目的で,本来であればdiv
要素やp
要素を用いるべきところで,strong
要素やb
要素に.box
クラスを付与するような実装が多くの箇所で行われています.
記述ファイル:components/card.scss
カード表示のためのクラスです.このクラスが付与された要素を直接の親にもつli
要素またはa
要素は,枠線や太字等のスタイルが適用されたブロック要素としてグリッド状に配置されます.
基本的にトップページでのみ用いられていますが,@pages/utokyo_vpn/index.md
など複数のリンクをまとめて強調表示したい場合にも利用例があります.
.cards
- 利用例:
@pages/index.mdx
- 利用例:
.cards + h2
h2
要素に対してこのクラスを付与すると,上方向にmargin
が適用されます.
記述ファイル:components/img.scss
画像のスタイルを設定するためのクラスです.
なお,以下のクラスを付与しない場合,img
要素はデフォルトでブロック要素となり,横幅の上限が100%
,縦幅の上限が40rem
となります.
img.large
,img.medium
,img.small
,img.extra-small
- 画像の大きさを調節することができます.
.large
:画像の横幅が必ず100%
となります..medium
:画像の横幅の上限が40rem
となります..small
:画像の横幅の上限が30rem
,縦幅の上限が30rem
となります..extra-small
:画像の横幅の上限が15rem
,縦幅の上限が15rem
となります.
- 画像の大きさを調節することができます.
img.inline
img
要素をインライン要素にします.
img.icon
img
要素をインライン要素にし,画像の縦幅の上限を1.5em
とします.加えて垂直方向の配置(vertical-align
)がmiddle
になります.- UIの説明などを目的として文中にアイコンの画像等を挿入する際に使用します.
img.center
- 画像を中央揃えで配置します.
img.border
- 画像に枠線が付加されます.また,
.border
クラスの付いたimg
要素が隣接する場合には,2番目以降の要素にmargin-top
が設定されます.
- 画像に枠線が付加されます.また,
figure.center
figure
要素を中央揃えで配置します.- 利用例:
@pages/utokyo_vpn/index.md
.gallery
- 主に
figure
要素に対して設定するクラスです.子要素のimg
要素を横方向に並べて表示することができます. - 利用例:
@pages/utokyo_vpn/index.md
- 主に
記述ファイル:components/lists.scss
箇条書きや番号付きリストに対してスタイルを設定するためのクラスです.
ul.gap
,ol.gap
- 子要素の隣接する
li
要素に対して上下方向に1em
のmargin
を設定します. - 利用例:
@components/en/systems/utokyo_wifi/index.mdx
- 子要素の隣接する
ol.bracket
- 番号付きリストのフォーマットが
[1]
,[2]
,[3]
, ... に変更されます. - 特別な理由がない限り使用は推奨されません.
- 番号付きリストのフォーマットが
記述ファイル:components/mfa.scss
「UTokyo Account多要素認証の初期設定手順」のページにおいて番号付きリストに独自のフォーマットを適用するためのクラスです.
このクラスは実装の変更に伴い今後使用されなくなる予定で,現在では/en/utokyo_account/mfa/initial/
でのみ利用されています.
記述ファイル:components/top.scss
.top__systems
- 子要素を2段組で配置します.
@pages/index.mdx
の「東京大学のシステム」セクションでのみ使用されています.
記述ファイル:components/utils.scss
.alert
- 文字色が
$red
になります.
- 文字色が
.center
- 文字の配置を中央揃えにします.
.iframe-container
iframe
要素の親要素に対して用いるクラスです.これにより,アスペクト比を固定しながらiframeを幅いっぱいに広げています.- 利用例:
@pages/oc/rooms.mdx