CSS 使用のヒントのまとめ

CSS 使用のヒントのまとめ
最近、ブログのアップグレードを始めました。
テンプレートを変更する過程で、CSS スタイルシートを書き換える必要があります。たまたまinstantshift.comで一般的なCSSテクニックをまとめた記事を見たので、自分の参考のためにまとめてみました。皆さんの参考になれば幸いです。
この記事は今後も更新され続ける予定です。

1. テキストの水平方向の中央揃え<br />コンテナの水平方向の中央にテキストを配置するには、text-align プロパティを設定するだけです。

コードをコピー
コードは次のとおりです。

テキスト配置:中央;

2. コンテナの水平方向の中央揃え<br />まずコンテナのクリア幅を設定し、次にマージンの水平方向の値を自動に設定します。

コードをコピー
コードは次のとおりです。

div#コンテナ{
幅:760ピクセル;
マージン:0 自動;
}

3. テキストの垂直方向の中央揃え<br />1 行のテキストを垂直方向に中央揃えするには、行の高さをコンテナーの高さと同じに設定するだけです。
たとえば、コンテナー内に数字の行があります。

コードをコピー
コードは次のとおりです。

<div id="コンテナ">1234567890</div>

CSS は次のように記述されます。

コードをコピー
コードは次のとおりです。

div#コンテナ {高さ: 35px; 行の高さ: 35px;}

テキストが n 行ある場合は、行の高さをコンテナーの高さの n 分の 1 に設定します。

4. コンテナの垂直方向の中央揃え<br />たとえば、大きいコンテナと小さいコンテナの 2 つがあるとします。小さいコンテナを垂直方向に中央揃えするにはどうすればよいでしょうか。

コードをコピー
コードは次のとおりです。

<div id="big">
<div id="small">
</div>
</div>

まず、大きなコンテナの位置を相対的に設定します。

コードをコピー
コードは次のとおりです。

div#big{
位置:相対;
高さ:480px;
}

次に、小さなコンテナを絶対位置として配置し、左上隅を y 軸に沿って 50% 下に移動し、最後に margin-top をコンテナ自体の高さの 50% 上に移動します。

コードをコピー
コードは次のとおりです。

div#小さい{
位置: 絶対;
上位: 50%;
高さ: 240px;
上マージン: -120px;
}

同じ考え方を使用して、水平方向の中央揃え効果も実現できます。

5. 適応型画像幅<br />大きな画像を小さなコンテナの幅に自動的に適応させるにはどうすればよいでしょうか? CSS は次のように記述できます。

コードをコピー
コードは次のとおりです。

画像 {最大幅: 100%}

ただし、IE6 は max-width をサポートしていないため、IE6 に遭遇した場合は、IE 条件コメントを使用して、ステートメントを次のように書き直してください。

コードをコピー
コードは次のとおりです。

画像 {幅: 100%}

6. 3D ボタン<br />ボタンに 3D 効果を与えるには、ボタンの左上の境界線を明るい色に、右下の境界線を暗い色に設定します。

コードをコピー
コードは次のとおりです。

div#ボタン{
背景: #888;
境界線: 1px 実線;
境界線の色: #999 #777 #777 #999;
}

7. フォント属性のショートカット
フォントショートカットの形式は次のとおりです。

コードをコピー
コードは次のとおりです。

体 {
フォント: フォントスタイル、フォントバリアント、フォントウェイト、フォントサイズ、行の高さ、フォントファミリー;
}

それで、

コードをコピー
コードは次のとおりです。

体 {
フォントファミリー: Arial、Helvetica、sans-serif;
フォントサイズ: 13px;
フォントの太さ: 標準;
フォントバリアント: スモールキャップ;
フォントスタイル: 斜体;
行の高さ: 150%;
}

次のように書くことができます:

コードをコピー
コードは次のとおりです。

体 {
フォント: 斜体小文字大文字通常 13px/150% Arial、Helvetica、sans-serif;
}

8. リンクステータス設定順序
リンクの 4 つの状態は次の順序で設定する必要があります。

コードをコピー
コードは次のとおりです。

リンク
a:訪問した
ホバー
a:アクティブ

9. IE 条件付きコメント<br />条件付きコメントを使用して、IE でのみ機能するステートメントを設定できます。

コードをコピー
コードは次のとおりです。

<!--[IEの場合]>
<link rel="スタイルシート" type="text/css" href="ie-stylesheet.css" />
< ![endif]-->

さまざまな IE バージョンを区別することもできます。

コードをコピー
コードは次のとおりです。

<!--[if IE 6]> - IE6 のみ対象 -->
<!--[if gt IE 6]> - IE7以上が対象 -->
<!--[if lt IE 6]> - IE5.5以下を対象とします -->
<!--[if gte IE 6]> - IE6以上を対象とします -->
<!--[if lte IE 6]> - IE6以下を対象とします -->

10. IE6 固有のステートメント: 方法 1 <br />IE6 は html をドキュメントのルート要素と見なさないため、これを使用して IE6 のみが読み取れるステートメントを記述できます。

コードをコピー
コードは次のとおりです。

/* 以下のルールは IE6 にのみ適用されます */
* html{
}
* html 本文{
}
* html .foo{
}

IE7固有のステートメントは次のように記述する必要があります。

コードをコピー
コードは次のとおりです。

/* 以下のルールは IE7 にのみ適用されます */
*+html .foo{
}

11. IE 固有のステートメント: 方法 2 <br />IE6 を除くすべてのブラウザーは、属性の前のアンダースコアを認識できません。 IE7 を除くすべてのブラウザは属性の前の * を認識できないため、次の 2 つのブラウザだけが読み取れるステートメントを記述できます。

コードをコピー
コードは次のとおりです。

。要素 {
background: red; /* 最新のブラウザ */
*background: green; /* IE 7以下 */
_background: blue; /* IE6 専用 */
}

12. CSS の優先順位<br />同じコンテナーが複数の CSS ステートメントで定義されている場合、どの定義が優先されますか?
基本的なルールは次のとおりです。
インライン スタイル > ID スタイル > クラス スタイル > タグ名スタイル たとえば、次の要素があります。

コードをコピー
コードは次のとおりです。

<div id="ID" class="CLASS" style="color:black;"></div>

インライン スタイルが優先され、その他の設定も低いものから高いものの順に優先されます。

コードをコピー
コードは次のとおりです。

div < .class < div.class < #id < div#id < #id.class < div#id.class

13. IE6 最小高さ
IE6 は min-height をサポートしていません。この問題を解決するには 2 つの方法があります。
方法1:

コードをコピー
コードは次のとおりです。

。要素 {
最小高さ: 500px;
高さ: 自動 !重要;
高さ: 500px;
}

CSS ステートメントは全部で 3 つあります。最初のステートメントは他のブラウザの最小の高さを設定し、3 番目のステートメントは IE の最小の高さを設定し、2 番目のステートメントは他のブラウザが 3 番目のステートメントの設定を上書きできるようにします。
方法2:

コードをコピー
コードは次のとおりです。

。要素 {
最小高さ: 500ピクセル
_高さ: 500ピクセル
}

_height は IE6 でのみ読み取ることができます。

14. フォントサイズのベンチマーク<br />ブラウザのデフォルトのフォントサイズは 16px です。まず、ベンチマークのフォントサイズを 10px に設定することができます。

コードをコピー
コードは次のとおりです。

本文 {フォントサイズ:62.5%;}

以下では、フォント単位として em を使用します。2.4em は 24px を意味します。

コードをコピー
コードは次のとおりです。

h1 {フォントサイズ: 2.4em}

15. テキスト変換とフォントバリアント
テキスト変換は、すべての文字を小文字、大文字、または大文字に変換するために使用されます。

コードをコピー
コードは次のとおりです。

p {テキスト変換: 大文字}
p {テキスト変換: 小文字}
p {テキスト変換: 大文字化}

フォント バリアントは、フォントをスモール キャップ (つまり、小文字と同じ高さの大文字) に変更するために使用されます。

コードをコピー
コードは次のとおりです。

p {フォントバリエーション: 小文字}

16. CSSリセット
CSS リセットはブラウザの組み込みスタイルを上書きするために使用されます。YUI および Eric Meyer のスタイルシートを参照してください。

17. リストマーカーとして画像を使用する<br />デフォルトでは、ブラウザはリストマーカーとして黒い円を使用します。これを画像に置き換えることができます。

コードをコピー
コードは次のとおりです。

ul {リストスタイル: なし}
ul li {
背景画像: url("画像へのパス");
背景繰り返し: なし;
背景位置: 0 0.5em;
}

18. 透明度<br />コンテナを透明に設定するには、次のコードを使用します。

コードをコピー
コードは次のとおりです。

。要素 {
フィルター:アルファ(不透明度=50);
-moz-不透明度:0.5;
-khtml-不透明度: 0.5;
不透明度: 0.5;
}

これらの 4 行の CSS ステートメントのうち、最初の行は IE に固有、2 行目は Firefox に固有、3 行目は Webkit ベースのブラウザーに固有、4 行目は Opera に固有です。

19. CSS 三角形<br />CSS を使用して三角形を作成する方法は?
まず空の要素 <div class="triangle"></div> を記述します。
次に、4 つの境界線のうち 3 つを透明に設定し、残りの 1 つを表示に設定して、三角形の効果を作成します。

コードをコピー
コードは次のとおりです。

.三角形 {
border-color: 透明 透明 緑 透明;
境界線のスタイル: solid;
境界線の幅: 0px 300px 300px 300px;
高さ: 0px;
幅: 0px;
}

20. 自動行折り返しを無効にする<br />自動行折り返しなしでテキストを 1 行に表示する場合、CSS コマンドは次のようになります。

コードをコピー
コードは次のとおりです。

h1 { 空白: ラップなし; }

21. テキストを画像に置き換える<br />タイトル バーに画像を使用する必要がある場合もありますが、検索エンジンがタイトルを読み取れるようにする必要があります。CSS ステートメントは次のように記述できます。

コードをコピー
コードは次のとおりです。

h1 {
テキストインデント:-9999px;
背景:url("h1-image.jpg") 繰り返しなし;
幅:200px;
高さ:50px;
}

22. フォーカスされたフォーム要素<br />フォーム要素にフォーカスがある場合、その要素はハイライト表示されます。

コードをコピー
コードは次のとおりです。

input:focus { border: 2px 緑; }

23. !important ルール<br />複数の CSS ステートメントが互いに競合する場合、!important を含むステートメントが他のステートメントをオーバーライドします。 IE は !important をサポートしていないため、異なるブラウザを区別するためにも使用できます。

コードをコピー
コードは次のとおりです。

h1 {
色: 赤 !重要;
色: 青;
}

上記のステートメントの結果、他のブラウザでは赤いタイトルが表示され、IE のみで青いタイトルが表示されます。

24. CSS ツールチップ ボックス<br />マウスをリンク上に移動すると、ツールチップ ボックスが自動的に表示されます。

コードをコピー
コードは次のとおりです。

<a class="tooltip" href="#">リンクテキスト<span>プロンプトテキスト</span></a>

CSS は次のように記述されます。

コードをコピー
コードは次のとおりです。

a.tooltip {位置: 相対}
a.tooltip span {display:none; padding:5px; width:200px;}
a:hover {background:#fff;} /*background-color は IE6 では必須です*/
a.tooltip:hover span{display:inline; position:absolute;}

25. 固定位置ヘッダー<br />ページがスクロールするとき、ヘッダーの位置を固定しておく必要がある場合があります。CSS ステートメントは次のように記述できます。

コードをコピー
コードは次のとおりです。

本文{ マージン:0; パディング:100px 0 0 0;}
div#ヘッダー{
位置:絶対;
トップ:0;
左:0;
幅:100%;
高さ:<長さ>;
}
@メディアスクリーン{
本文>div#header{位置: 固定;}
}
* html 本文{overflow:hidden;}
* html div#content{height:100%;overflow:auto;}

IE6 で記述する別の方法 (固定位置フッターの場合):

コードをコピー
コードは次のとおりです。

* html #フッター {
位置:絶対;
top:式((0-(footer.offsetHeight)+(document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)+(ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop))+'px');
}

26. IE6 で PNG 画像の透明効果を設定する

コードをコピー
コードは次のとおりです。

.クラス名 {
背景: url(image.png);
_背景: なし;
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(src='image.png', sizingMethod='crop');
}

27. さまざまなブラウザ向けの特別なステートメント

コードをコピー
コードは次のとおりです。

/* IE6以下 */
* html #uno { 色: 赤 }
/* IE7 */
*:first-child+html #dos { 色: 赤 }
/* IE7、FF、Saf、Opera */
html>body #tres { 色: 赤 }
/* IE8、FF、Saf、Opera (IE 6、7 以外のすべて) */
html>/**/body #cuatro { 色: 赤 }
/* Opera 9.27 以下、Safari 2 */
html:first-child #cinco { 色: 赤 }
/* サファリ 2-3 */
html[xmlns*=""] body:last-child #seis { 色: 赤 }
/* Safari 3+、Chrome 1+、Opera9+、FF 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* Safari 3+、Chrome 1+、Opera9+、FF 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3+、chrome1+ */
@media screen および (-webkit-min-device-pixel-ratio:0) {
#diez { 色: 赤 }
}
/* iPhone / モバイル Webkit */
@media screen および (最大デバイス幅: 480px) {
#veintiseis { 色: 赤 }
}
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece { 色: 赤 }
/* Safari 2 - 3.1、Opera 9.25 */
*|html[xmlns*=""] #catorce { 色: 赤 }
/* IE6-8 以外のすべて */
:root *> #マルメロ { 色: 赤 }
/* IE7 */
*+html #dieciocho { 色: 赤 }
/* Firefox のみ。1+ */
#veinticuatro、x:-moz-any-link { 色: 赤 }
/* Firefox 3.0 以降 */
#veinticinco、x:-moz-any-link、x:default { 色: 赤 }
/***** 属性ハック ******/
/* IE6 */
#一度だけ { _color: 青 }
/* IE6、IE7 */
#doce { *color: blue; /* または #color: blue */ }
/* IE6 以外のすべて */
#diecisiete { color/**/: blue }
/* IE6、IE7、IE8 */
#diecinueve { 色: 青\9; }
/* IE7、IE8 */
#veinte { color/*\**/: blue\9; }
/* IE6、IE7 -- !important として機能します */
#veintesiete { color: blue !ie; } /* ! の後の文字列は何でも構いません */

28. コンテナの水平および垂直方向のセンタリング
HTML コードは次のとおりです。

コードをコピー
コードは次のとおりです。

<図クラス='ロゴ'>
<span></span>
<img クラス = '写真'/>
</図>

CSS コードは次のとおりです。

コードをコピー
コードは次のとおりです。

.ロゴ {
表示: ブロック;
テキスト配置: 中央;
表示: ブロック;
テキスト配置: 中央;
垂直位置合わせ: 中央;
境界線: 4px 実線 #dddddd;
パディング: 4px;
高さ: 74px;
幅: 74px; }
.ロゴ * {
表示: インラインブロック;
高さ: 100%;
垂直方向の位置合わせ: 中央; }
.ロゴ .写真 {
高さ: 自動;
幅: 自動;
最大幅: 100%;
最大高さ: 100%; }

29. CSS シャドウ<br />外側のシャドウ:

コードをコピー
コードは次のとおりです。

。影 {
-moz-box-shadow: 5px 5px 5px #ccc;
-webkit-box-shadow: 5px 5px 5px #ccc;
ボックスの影: 5px 5px 5px #ccc;
}

インナーシャドウ:

コードをコピー
コードは次のとおりです。

。影 {
-moz-box-shadow:インセット 0 0 10px #000000;
-webkit-box-shadow:インセット 0 0 10px #000000;
ボックスシャドウ:インセット 0 0 10px #000000;
}

30. IEテキストボックスのスクロールバーをキャンセルする

コードをコピー
コードは次のとおりです。

テキストエリア { オーバーフロー: 自動; }

31. 画像のプリロード<br />参照
https://www.jb51.net/article/32761.htm
https://www.jb51.net/css/68340.html
32. CSSリセットについては、https://www.jb51.net/css/68582.htmlを参照してください。

<<:  5つのクールで実用的なHTMLタグと属性の紹介

>>:  Docker コンテナにデプロイされた Django のタイムゾーンの問題

推薦する

よく理解しましたかタグ 定義方法 使用方法

序文:今日、「<!DOCTYPE> タグを注意深く理解しましたか?」と尋ねられました。私...

Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する

Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。こ...

HTML 学習ノート - HTML 構文の詳細な説明 (必読)

1. HTML マークアップ言語とは何ですか? HTML は、Web ページの情報を表すマークアッ...

CSS マルチカラムレイアウトソリューション

1. 固定幅+適応型期待される効果: 左側は固定幅、右側は適応幅 共通コード: html: <...

Apple Watchのインタラクションデザインにおける4つの全く異なる体験が明らかに

今日も Watch アプリのデザインに関する話です。私はケーススタディが大好きなので、同じトピックを...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

仮想マシンの複製に関するVirtual Boxチュートリアル図

VMに慣れた後、BOXに切り替えるのは少し異なります。たとえば、コピーネットワークカードを2枚使って...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

Docker で Confluence をデプロイする

1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...

三角形を描画するための CSS 実装コード (border メソッド)

1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...

検証コード干渉を実装する js (静的)

この記事では、検証コード干渉を実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

HTML ウェブページのメタビューポート属性の説明

HTML メタビューポート属性の説明ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウ...

vue3 を使用したジグソーパズルゲームのリファクタリングの例

序文プロジェクト内のパズルゲーム(デジタル華容路とも呼ばれる)を再構築するのに 2 日かかりました。...

MySQL マスタースレーブ遅延問題の解決方法

今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...

Navicat for SQLite で中国語データを CSV にインポートする方法

この記事では、参考までに、csv中国語データをNavicat for SQLiteにインポートする具...