目次
  border-left: 1px solid #666;}
ログイン後にコピー
" >
  border-left: 1px solid #666;}
ログイン後にコピー
li {  display: none;}/* select items 1 through 3 and display them */li:nth-child(-n+3) {  display: block;}
ログイン後にコピー
" >
li {  display: none;}/* select items 1 through 3 and display them */li:nth-child(-n+3) {  display: block;}
ログイン後にコピー
html {  -moz-osx-font-smoothing: grayscale;  -webkit-font-smoothing: antialiased;  text-rendering: optimizeLegibility;}
ログイン後にコピー
" >
html {  -moz-osx-font-smoothing: grayscale;  -webkit-font-smoothing: antialiased;  text-rendering: optimizeLegibility;}
ログイン後にコピー
ホームページ ウェブフロントエンド htmlチュートリアル 12 の高度な CSS テクニックのまとめ_html/css_WEB-ITnose

12 の高度な CSS テクニックのまとめ_html/css_WEB-ITnose

Jun 21, 2016 am 09:05 AM

私は一般の人には次のような高度な CSS スキルを教えません。

  • :not() を使用して、メニューの境界線を適用/非適用します
  • 本文に行の高さを追加します
  • すべてを垂直方向に中央揃えします
  • カンマ区切りのリスト
  • 負の nth-child を使用して項目を選択します
  • アイコンの場合 SVG を使用します
  • 表示テキストを最適化する
  • 純粋なCSSスライダーにはmax-height
  • を使用する
  • box-sizingを継承する
  • 同じ幅の表のセル
  • Flexboxを使用してさまざまなマージンハックを取り除く
  • 空のリンクには属性セレクターを使用する

使用する:not() メニューの境界線を適用/非適用します

まず各メニュー項目に境界線を追加します

/* add border */.nav li {  border-right: 1px solid #666;}
ログイン後にコピー

...そして最後の要素を削除します...

//* 境界線を削除します */

.nav li:last-child {  border-right: none;}
ログイン後にコピー

… :not() 疑似クラスを直接使用して要素を適用できます。

.nav li:not(:last-child) {  border-right: 1px solid #666;}
ログイン後にコピー

この方法では、コードがクリーンで、読みやすく、理解しやすくなります。

もちろん、新しい要素に兄弟要素がある場合は、ユニバーサル兄弟セレクター (~) を使用することもできます:

..nav li:first-child ~ li {

  border-left: 1px solid #666;}
ログイン後にコピー

本文に行の高さを追加します

You No各

などに個別に行の高さを追加する必要があります。 body に追加するだけです:

body {  line-height: 1;}
ログイン後にコピー

このようにして、テキスト要素は body から簡単に継承できます。

すべてを垂直方向の中央に配置します

すべてを垂直方向の中央に配置するのはとても簡単です:

そうです

ほら、簡単です。

注: IE11 のフレックスボックスには注意してください。

カンマ区切りリスト

HTML リスト項目を実際のカンマ区切りリストのように見せます:

html, body {  height: 100%;  margin: 0;}body {  -webkit-align-items: center;    -ms-flex-align: center;    align-items: center;  display: -webkit-flex;  display: flex;}
ログイン後にコピー

最後のリスト項目には :not() 疑似クラスを使用します。

負の nth-child を使用して項目を選択します

CSS で負の nth-child を使用して項目 1 から項目 n を選択します。

そうです

とても簡単です。

アイコンには SVG を使用しましょう

アイコンに SVG を使用しない理由はありません:

そうです

SVG はすべての解像度タイプに適切に対応し、IE9 までのすべてのブラウザをサポートします。こうすることで、.png、.jpg、または .gif ファイルを回避できます。

表示テキストを最適化する

すべてのデバイスでフォントが最適に表示されない場合があるため、デバイスのブラウザーを使用してください:

ul > li:not(:last-child)::after {  content: ",";}
ログイン後にコピー

注: optimizeLegibility は責任を持って使用してください。さらに、IE/Edge はテキスト レンダリングをサポートしていません。

純粋な CSS スライダーには max-height を使用します

max-height とオーバーフロー非表示を使用して CSS のみのスライダーを実装します:

li {  display: none;}/* select items 1 through 3 and display them */li:nth-child(-n+3) {  display: block;}
ログイン後にコピー

box-sizing を継承する

box-sizing に HTML を継承させます:

.logo {  background: url("logo.svg");}
ログイン後にコピー

次のようにプラグイン 他のコンポーネントでボックスのサイズを変更したり、他の動作を利用したりすることが簡単になります。

表のセルを同じ幅にします

表は扱いが面倒なので、必ず table-layout:fixed to keep cell of the width を使用してください:

html {  -moz-osx-font-smoothing: grayscale;  -webkit-font-smoothing: antialiased;  text-rendering: optimizeLegibility;}
ログイン後にコピー

マージンに関するさまざまなハックを取り除くには Flexbox を使用してください

Use必要に応じて 列区切り文字に関しては、フレックスボックスの space-between プロパティを使用して、n 番目、最初、最後の子のハックを取り除くことができます:

.slider ul {  max-height: 0;  overlow: hidden;}.slider:hover ul {  max-height: 1000px;  transition: .3s ease;}
ログイン後にコピー

これで、リスト区切り文字が等間隔の位置に表示されます。

空のリンクには属性セレクターを使用します

要素にテキスト値がなく、href 属性にリンクがある場合にリンクを表示します:

html {  box-sizing: border-box;}*, *:before, *:after {  box-sizing: inherit;}
ログイン後にコピー

非常に便利です。

サポート

これらの高度なヒントは、Chrome、Firefox、Safari、Edge、IE11 の現在のバージョンで効果的に機能します。 🎜
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles