Firefox または IE でスパン幅が決定されない場合の解決策

Firefox または IE でスパン幅が決定されない場合の解決策

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<ヘッド>
<title>テスト範囲</title>
<mce:style type="text/css"><!--
スパン {
背景色:#ffcc00;
幅:150ピクセル;
}
--></mce:style><style type="text/css" mce_bogus="1">スパン {
背景色:#ffcc00;
幅:150ピクセル;
</スタイル>
</head>
<本文>
固定 <span >幅</span> スパン
</本文>
</html>

テストしたところ、Firefox でも IE でも無効であることがわかりました。

CSS2 標準の幅の定義を調べると、CSS の幅属性が必ずしも有効ではないことがわかります。オブジェクトがインライン オブジェクトの場合、幅属性は無視されます。 Firefox と IE はもともと標準に従うためにこれを行いました。

スパンをブロックタイプに変更し、フロートを設定することは完璧な解決策ではありません

span の CSS に display 属性を追加し、span をブロック型要素に設定します。これにより、確かに幅が変更されますが、前後のテキストが別の行に配置されます。このように、span は実際には完全に div になります。

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

スパン { 背景色:#ffcc00; 表示:ブロック; 幅:150px;}

多くの人は、CSS プロパティ float を追加することを提案しますが、これは確かに特定の条件下では問題を解決できます。たとえば、この例では、span の前にテキストがない場合でも、それは確かに実現可能です。しかし、それが存在する場合、その前後のテキストが接続され、span は 2 行目まで実行されます。

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

スパン { 背景色:#ffcc00;
ディスプレイ:ブロック; フロート:左; 幅:150px;}

スパン幅を設定するための完璧なソリューション

次のコードの CSS 定義は、スパンの幅を設定する問題を完全に解決します。ブラウザは通常、サポートされていない CSS プロパティを無視するため、display:inline-block 行を最後に記述するのが最適です。こうすることで、Firefox では、将来 Firefox 3 がリリースされた場合でもこの行が機能し、コードがさまざまなバージョンと同時に互換性を持つようになります。

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>テスト範囲</title>
<mce:style type="text/css"><!--
スパン { 背景色:#ffcc00; 表示:-moz-インラインボックス; 表示:インラインブロック; 幅:150px;}
--></mce:style>
<style type="text/css" mce_bogus="1">スパン { 背景色:#ffcc00; 表示:-moz-inline-box; 表示:インラインブロック; 幅:150px; }
</head>
<本文>
固定幅 span
</本文>
</html>

<<:  docker compose helloworld を使い始めるための詳細なプロセス

>>:  一般的な DIV タスク (パート 2) — DIV のエディターとさまざまな DIY アプリケーションへの変換

推薦する

HTTP ステータス コード

このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

CSS設定div背景画像実装コード

コンポーネントに背景画像コントロールを追加するには、次の 2 つの手順だけが必要です。 <表示...

MySQL 5.7.23 バージョンのインストールチュートリアルと設定方法

MySQL を自分でインストールするのに 3 時間かかりました。チュートリアルはたくさんあるにもかか...

CSS のみを使用して折りたたまれたヘッダー効果を作成する方法の例コード

折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...

MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル

最近コンピュータを再インストールした後、最新バージョンのみをインストールするという強迫観念に基づいて...

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

mysql 8.0.18.zip のインストールと構成方法のグラフィック チュートリアル (Windows 64 ビット)

以前にインストールされたバージョンのデータベースをアンインストールする方法については、この記事を参照...

AngularでTweenMaxアニメーションライブラリを使用する際の問題と解決策

最近何もすることがないのでCSSをいじっていますより良いアニメーションライブラリTweenMaxを見...

Ubuntu LinuxにOracle Java 14をインストールする方法

最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...

Web プロジェクトでの SQL インジェクションの防止

目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...

JavaScriptの記事では、Webフォームの操作方法を説明します。

1. はじめに先ほど、ウェブページの急速な発展について紹介しました。今回は、より深い内容についてお...

JSはclip-pathを使用して動的領域クリッピング機能を実装します

背景今日、CodePen を閲覧していたところ、非常に興味深い効果を見つけました。 CodePen ...

Linux インストール Apache サーバー構成プロセス

袋を用意するインストールApacheがすでにインストールされているかどうかを確認するrpm -qa ...

ウェブページ内の 2 つのボックス モデル (W3C ボックス モデル、IE ボックス モデル)

Web ページ ボックス モデルには 2 種類あります。 1: 標準 W3C ボックス モデル。2:...