= 4.4’]`に変更してあげましょう。, aタグなどでボタンを作成する時、ボタンの高さを`line-height`だけ指定して横着していませんか? 私はよくやります(笑) IE11では要素によって`line-height`だけでは高さを保持できないので、必ず`height`指定もしましょう!, 「あれ、画面サイズを縮小すると要素が入らない!」 「zoomかければいいんじゃね?」 という会話よく聞きます(?)よね! 実はzoomはもともとIE独自のプロパティでした。 後追いでChrome,safariも対応してきましたが、規則に忠実なFireFoxには対応しておりません。 タブレット、SPに関しては、ターゲットブラウザからFireFoxが外れることが多いので、許容できますが、PCレイアウトにおいてzoomを使用するのは控えましょう!, ページのメインの要素にとりあえず囲っておくmainタグ。 場合によってmargin: 0 auto;などを付与する時があるかと思います。 他のブラウザでは中央化されるのに、なぜかIEだけ中央化しない!なんてことありますよね? 実は、mainタグIEではブロック要素と認識されていないようです。 共通のcss等でmain要素にdisplay: block;としてあげましょう!, サイト内に電話番号を仕込む時、「SPでは電話をかけたいけど、PCではかけたくない!」なんて要望も多いかと思います。 最近ではPCの時だけcssでpointer-events: none;を当てればクリックしてもかからなくなるのですが、edgeではとんだお節介機能があります。 電話番号らしき文字列を検出したら勝手に水色になるという問題です。 回避のためにはを設定してあげる必要があります。 haedタグ内でUA判定をして動的に付与してあげましょう。, 電話番号に続いて©︎も水色に変換されます。 問題が発生したのが、Nexus9。 文字実体参照に変更しても治らず、機種依存ということで未対応となっております。 対処方法がわかる方、いらっしゃいましたらご一報ください!. お好みのものを使用してください! CSS.
この3種類は著作権マークがフォントや文字セットで利用できない場合のために作られたものらしく、意味は同じなようです。 サイズもCの感じも微妙に違いますよね? W3C仕様書より, 変数にプロジェクトに関連した分かりやすい名前をつけることにより、コードの管理やメンテナンスがしやすくなります。プロジェクトで原色を編集する場合、CSSカスタムプロパティ--primary-colorの値を変更すればよく、すべての場所のCSSプロパティの値を変更する必要はなくなるのです。, Webサイトのスタイリングで変数の持つ柔軟性を利用する方法は、SassやLessといったプリプロセッサーの活用です。, プリプロセッサーで変数を設定すると、関数やループ、算術演算などで使えます。CSS変数に大きなメリットはないのでしょうか?, そうとは言えません。CSS変数にはプリプロセッサーで変数を設定するとは違った面がいくつかあります。, CSS変数がブラウザーで実行する動的なCSSプロパティなのに対し、プリプロセッサーの変数はCSSコードにコンパイルされるためブラウザーは関与しません。, つまり、スタイルシートドキュメント内のCSS変数は、インラインスタイル属性やSVGのプレゼンテーション属性で変更したり、JavaScriptで選択、操作したりできるのです。可能性が無限に広がります。プリプロセッサーの変数では実現できません。, CSS変数かプロセッサーの変数か、選ぶ必要はありません。CSS変数とプリプロセッサーの変数、両方とも利用しない手はないでしょう。, 分かりやすくするために「CSS変数(CSS variables)」と呼んでいますが、公式では「カスケード変数のためのCSSカスタムプロパティ(CSS custom properties for cascading variables)」としています。CSSカスタムプロパティ部分のコードは以下の通りです。, カスタムプロパティは冒頭にハイフンを2つ記述し、通常のCSSプロパティと同様に値を設定します。上のスニペットでは、カラー値にカスタムプロパティ--my-cool-backgroundを設定しました。, カスタムプロパティのスコープはCSSセレクタ内です。var()はCSSプロパティの実際の値として使えます。, 上のスニペットで、カスタムプロパティ--my-cool-backgroundのスコープは疑似クラス:rootで、値はグローバルに利用できます(つまり 要素内のすべてに適用できます)。これでID fooをもつコンテナのbackground-colorプロパティにvar()関数で値を適用でき、背景色がライトブルーになります。, さらに、var(--my-cool-background)を使ってカスタムプロパティ値を取得し、CSSプロパティに適用するだけで、ライトブルーのカラー値をcolor、border-colorといった複数のHTML要素のカラープロパティに設定できます。ただし、複雑化しないうちにCSS変数の命名規則を決めることをおすすめします。, 上のスニペットでは変数--my-gradientを作成し、値を変数--top-colorと--bottom-color双方で設定してグラデーションを実現しています。これで変数の値を変更すれば、グラデーションを修正できます。スタイルシート全体からグラデーションインスタンスをすべてピックアップする必要はないのです。, 上のスニペットでは「#333」がフォールバック値です。フォールバック値を記述しないと、カスタムプロパティが無効だったり設定されていなかったりすると、代わりに継承値が適用されます。, たとえば、var(--foo)とvar(--FOO)は別のカスタムプロパティを参照します。, 通常のCSSプロパティと同様、CSS変数は継承されます。カスタムプロパティを定義し、値をblueとします。, ルート要素内で変数--main-colorが適用された要素はすべて値としてblueを継承します。, ほかの要素内でカスタムプロパティに別の値が新しく設定された場合、要素の子要素はすべて新しい値を継承します。以下に例を示します。, 上のマークアップの最初の段落はグローバル変数--main-colorから値を継承し、カラーは青になります。, .alertクラスのdiv内の段落のカラーは、ローカルにスコープ指定された変数--main-colorから値を継承しているため、--main-colorの値の赤になります。, CSS変数とSVGの相性は抜群です。CSS変数を使って、インラインSVG内のスタイルとプレゼンテーション属性の双方を変更できます。, アイコンが配置された親コンテナごとにSVGアイコンのカラーを変更します。変数のスコープを親コンテナに限定し、それぞれに希望の色を設定すると、各コンテナのアイコンは親コンテナの色を継承します。, 上のマークアップでは