質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

797閲覧

calc()を利用した技術が書かれている専門書はありますでしょうか

taka_oct092018

総合スコア133

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/06/02 10:57

あれば教えて欲しいです。
ネットで検索はしましたが、思ったほど使いみちは少ないですね。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/06/02 11:08

「利用した技術」というのがイメージがわきませんでした。 実例が欲しい、というようなことですか?
guest

回答2

0

ベストアンサー

書籍については「便利な使い方」という形で紹介しているものはまだ見たことがないです。
が、私はよく使うので、以下に例を挙げてみます。

ネットで検索はしましたが、思ったほど使いみちは少ないですね。

例を挙げると以下です。

CSS

1/* line-heightのルールを指定。SCSSの場合は「calc(...)」の記述を変数化しています。 */ 2line-height: calc(1em + 10px);

CSS

1/* 余白ありの3分割の横幅を指定 (display: grid;でもいいですが、IE11では専用の記述が必要なので) */ 2flex-grow: 0; 3flex-shrink: 0; 4flex-basis: calc((100% - 20px - 20px) / 3);

CSS

1/* 円の中にフォントアイコンがあるような場合。 */ 2/* paddingで内側の余白を指定すると若干上にズレる場合があるのでdisplay: flex;で上下左右中央配置をしたい */ 3.btn-circle { 4 /* 子要素を上下左右中央配置 */ 5 display: flex; 6 align-items: center; 7 justify-content: center; 8 9 /* 余計な余白が生じないようにする + 角丸の指定 */ 10 line-height: 1; 11 letter-spacing: 0; 12 border-radius: 50%; 13 14 /* 文字サイズ (=アイコンのサイズ) + 左右の余白 */ 15 width: calc(1em + 0.75em + 0.75em); /* 文字の横幅 (=アイコンのサイズ) + 左右の余白 */ 16 height: calc(1em + 0.75em + 0.75em); /* 文字の高さ (=アイコンのサイズ) + 左右の余白 */ 17} 18.btn-circle > .icon { 19 /* フォントアイコン */ 20}

CSS

1/* .containerなどラッパー要素について、ブレークポイントを使わなくてもこの記述だけでOKかもしれません。 */ 2.container { 3 margin: 0 auto; 4 width: 640px; 5 max-width: calc(100vw - 15px - 15px); /* 15pxは左右の余白 */ 6}

CSS

1/* 無理やり感がありますが.. */ 2/* 3行の高さを持つ要素の高さの半分だけ上方向にはみ出すような場合 (行の高さ * 3行、上下のpaddingは20px) */ 3top: calc(-1 * ((1em + 5px) * 3 + 20px + 20px) / 2);

異なる単位の数字を計算するようなシチュエーションで便利なことがよくあります。

「44px」など数値だけ指定されていると、なぜその数値になっているのかわからずデザインを作るときや、デザインラフがない状況でレスポンシブ対応をしなければならないときに数字の根拠が持てないのですが、calc()を使って指定していると、悩まずに済む場合もあります。

投稿2020/06/02 12:39

編集2020/06/03 07:06
new1ro

総合スコア4528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taka_oct092018

2020/06/05 13:10

new1ro様 実例を示して下さってありがとうございます。
guest

0

とりあえずmdnは確認しましたか?

投稿2020/06/02 12:47

yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問