CSS基礎学習その13:box model_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:33:18
オリジナル
905 人が閲覧しました

CSS ボックス モデルの概要

CSS ボックス モデルは、要素ボックスが要素のコンテンツ、パディング、境界線、およびマージンを処理する方法を指定します。完全な要素には、コンテンツ、パディング、ボーダー、マージンが含まれます。型 模模

:


の要素ボックスの内側が実際のコンテンツであり、コンテンツのコンテンツによって直接囲まれています。パディングは要素の背景を表します。パディングの端が境界線です。

境界線の向こう側はマージンです。マージンはデフォルトで透明なので、その背後にある要素はブロックされません。したがって、背景はコンテンツとパディングで構成される

ドメインに適用されます。

パディング、境界線、マージンはすべてオプションであり、デフォルト値はゼロです。ただし、多くの要素には、ユーザー エージェント スタイル シートによって設定されたマージンとパディングが含まれます。要素のマージンとパディングをゼロに設定することで、これらのブラウザ スタイルを

オーバーライドできます。これは個別に行うことも、ユニバーサル セレクターを使用してすべての要素に対して行うこともできます:

* {  margin: 0;  padding: 0;}
ログイン後にコピー

CSS では、幅と高さはコンテンツ領域の幅と高さを指します。パディング、境界線、マージンを増やしても、コンテンツ領域

のサイズには影響しませんが、要素ボックス全体のサイズは大きくなります。パディング、境界線、およびマージンは、要素のすべての側面または個々の側面に適用できます。マージン

は負の値にすることができ、多くの場合、負の値のマージンが使用されます。

ボックスの両側に 10 ピクセルの外側マージンと 5 ピクセルの内側マージンがあるとします。この要素ボックスを 100 ピクセルにしたい場合は、コンテンツの幅を 70 ピクセルに設定する必要があります。以下の図を参照してください。

 <span style="font-size:18px;">#box {  width: 70px;  margin: 10px;  padding: 5px;}</span>
ログイン後にコピー
表示属性は、要素のボックス モデルのタイプを設定します。


可能な値:

なし’ s ’ s

’ s ’ s ’ s ‐ ‐ 1 ‐ to 3 to 3 to 3 d to the value

要素のパディングは境界線内にありますそしてコンテンツエリア。この領域を制御する最も単純なプロパティは、padding プロパティです。 CSSpadding プロパティは、要素の境界線と

要素のコンテンツの間の空白を定義します。

。パディング属性は長さの値またはパーセント値を受け入れますが、負の値は許可されません。

それぞれの側で異なる単位またはパーセンテージ値を使用できます:

h1 {padding: 10px;}
ログイン後にコピー
E (2) 片側の内部間隔属性

は、次の 4 つの個別の属性も使用して、上部を設定します。 、右、下、左の内部距離:

:

-Padding-left 左内側の間隔を設定します

padding-Right 右内側の距離を設定します

padding-top 内側の間隔を設定します

padding-bottom 下の境界線を設定します距離

次のルール、次のルール、以下のルール、以下のルール、実装効果は上記の略語ルールとまったく同じです:

h1 {padding: 10px 0.25em 2ex 20%;}
ログイン後にコピー
E (3) 内側マージンのパーセンテージ値
前述したように、要素間の内側の境界線のパーセンテージ値を設定できます。パーセンテージ値は、マージンと同様に、親要素の幅を基準にして計算されます。したがって、親要素の幅が変更されると、それらも変更されます。注: 上部と下部のパディングは、左右のパディングと一致します。つまり、上部と下部のパディングのパーセンテージは、高さではなく、親要素の幅を基準にして設定されます。

親要素の幅の 10% で使用します。

りー

3 境界線

要素の境界線は、要素のコンテンツとパディングを囲む 1 つ以上の線です。 border プロパティを使用すると、要素の境界線のスタイル、幅、色を指定できます。 tableを使用してテーブルを使用してテキストの周りに境界線を作成するが、CSSボーダープロパティを使用する

框,并且可以应用于任何元素。元素外边距内就是元素的的边框。元素的边框就是围绕元素内容和内边据的一条或多

条线。每个边框有 3 个方面:宽度、样式,以及颜色。

       (2)边框与背景

       CSS规范指出,边框绘制在“元素的背景之上”。这很重要,因为有些边框是“间断的”(例如,点线边框或虚线

框),元素的背景应当出现在边框的可见部分之间。CSS2 指出背景只延伸到内边距,而不是边框。后来 CSS2.1 进

行了更正:元素的背景是内容、内边距和边框区的背景。

       (3)边框的样式

       样式是边框最重要的一个方面,这不是因为样式控制着边框的显示(当然,样式确实控制着边框的显示),而是因

为如果没有样式,将根本没有边框。CSS中border-style属性定义了10个不同的非inheri 样式,包括none。

       例如,您可以为把一幅图片的边框定义为outset,使之看上去像是“凸起按钮”:
a:link img {border-style: outset;}
ログイン後にコピー
       (4)定义多种样式

       您可以为一个边框定义多个样式,例如:

p.aside {border-style: solid dotted dashed double;}
ログイン後にコピー

      上面这条规则为类名为aside的段落定义了四种边框样式:实线上边框、点线右边框、虚线下边框和一个双线左边

框。

       (5)定义单边样式

       如果您希望为元素框的某一个边设置边框样式,而不是设置所有 4 个边的边框样式,可以使用下面的单边边框样

式属性:

       border-top-style

       border-right-style

       border-bottom-style

       border-left-style

       (6)边框的宽度

       您可以通过border-width属性为边框指定宽度。为边框指定宽度有两种方法:可以指定长度值,比如 2px或

0.1em;或者使用3个关键字之一,它们分别是 thin 、medium(默认值) 和 thick。

       所以,我们可以这样设置边框的宽度:

p {border-style: solid; border-width: 5px;}
ログイン後にコピー

       或者:

p {border-style: solid; border-width: thick;}
ログイン後にコピー

       (7)定义单边宽度

       您可以按照 top-right-bottom-left 的顺序设置元素的各边边框:

p {border-style: solid; border-width: 15px 5px 15px 5px;}
ログイン後にコピー

      上面的例子也可以简写为(这样写法称为值复制):
p {border-style: solid; border-width: 15px 5px;}
ログイン後にコピー

       您也可以通过下列属性分别设置边框各边的宽度:

       border-top-width

       border-right-width

       border-bottom-width

       border-left-width

       因此,下面的规则与上面的例子是等价的:
p {  border-style: solid;  border-top-width: 15px;  border-right-width: 5px;  border-bottom-width: 15px;  border-left-width: 5px;  }
ログイン後にコピー

        (8)没有边框

       在前面的例子中,您已经看到,如果希望显示某种边框,就必须设置边框样式,比如solid 或 outset。那么如果把

border-style设置为none,由于border-style的默认值是none,如果没有声明样式,就相当于 border-style: none。因

此,如果您希望边框出现,就必须声明一个边框样式。

       (9)边框的颜色

       设置边框颜色非常简单。CSS使用一个简单的border-color属性,它一次可以接受最多4个颜色值。可以使用任何

类型的颜色值,例如可以是命名颜色,也可以是十六进制和 RGB 值:

p {  border-style: solid;  border-color: blue rgb(25%,35%,45%) #909090 red;  }
ログイン後にコピー

       如果颜色值小于 4 个,值复制就会起作用。例如下面的规则声明了段落的上下边框是蓝色,左右边框是红色:

p {  border-style: solid;  border-color: blue red;  }
ログイン後にコピー

       注释:默认的边框颜色是元素本身的前景色。如果没有为边框声明颜色,它将与元素的文本颜色相同。另一方

面,如果元素没有任何文本,假设它是一个表格,其中只包含图像,那么该表的边框颜色就是其父元素的文本颜色

(因为color可以继承)。这个父元素很可能是body、div 或另一个table。

       (10)定义单边颜色

       还有一些单边边框颜色属性。它们的原理与单边样式和宽度属性相同:

       border-top-color

       border-right-color

       border-bottom-color

       border-left-color

       要为 h1 元素指定实线黑色边框,而右边框为实线红色,可以这样指定:
h1 {  border-style: solid;  border-color: black;  border-right-color: red;  }
ログイン後にコピー

       四外边距margin

       围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”。

       (1)margin属性

       设置外边距的最简单的方法就是使用margin属性,这个属性接受任何长度单位、百分数值甚至负值。margin可以

设置为auto。更常见的做法是为外边距设置长度值。

       下面的例子为h1元素的四个边分别定义了不同的外边距,所使用的长度单位是像素(px):

<span style="font-size:18px;">h1 {margin : 10px 0px 15px 5px;}</span>
ログイン後にコピー

       另外,还可以为 margin 设置一个百分比数值:

p {margin : 10%;}
ログイン後にコピー

       百分数是相对于父元素的 width 计算的。上面这个例子为p元素设置的外边距是其父元素的 width 的10%。

       margin 的默认值是0,所以如果没有为margin 声明一个值,就不会出现外边距。但是,在实际中,浏览器对许多

元素已经提供了预定的样式,外边距也不例外。例如,在支持 CSS 的浏览器中,外边距会在每个段落元素的上面和

下面生成“空行”。因此,如果没有为 p 元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了

声明,就会覆盖默认样式。

       (2)值复制

       有时,我们会输入一些重复的值:

p {margin: 0.5em 1em 0.5em 1em;}
ログイン後にコピー

       通过值复制,您可以不必重复地键入这对数字。上面的规则与下面的规则是等价的:

<span style="font-size:18px;">p {margin: 0.5em 1em;}</span>
ログイン後にコピー

       这两个值可以取代前面4个值。CSS 定义了一些规则,允许为外边距指定少于4 个值。规则如下:

       如果缺少左外边的值,则使用右外边距的值。

       如果缺少下外边距的值,则使用上外边距的值。

       如果缺少右外边距的值,则使用上外边距的值。

      下图提供了更直观的方法来了解这一点:


       (3)单边外边距属性

       您可以使用单边外边距属性为元素单边上的外边距设置值。假设您希望把 p 元素的左外边距设置为 20px。
p {margin-left: 20px;}
ログイン後にコピー

       您可以使用下列任何一个属性来只设置相应上的外边距,而不会直接影响所有其他外边距:

       margin-top

       margin-right

       margin-bottom

       margin-left

       一个规则中可以使用多个这种单边属性,例如:
h2 {  margin-top: 20px;  margin-right: 30px;  margin-bottom: 30px;  margin-left: 20px;  }
ログイン後にコピー

       当然,对于这种情况,使用 margin 可能更容易一些:

p {margin: 20px 30px 30px 20px;}
ログイン後にコピー

       不论使用单边属性还是使用 margin,得到的结果都一样。一般来说,如果希望为多个边设置外边距,使用

 margin 会更容易一些。不过,从文档显示的角度看,实际上使用哪种方法都不重要,所以应该选择对自己来说更容

易的一种方法。



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート