この記事では、CSS3 の背景属性に関連する属性について説明します。必要な方は参考にしていただければ幸いです。
1 背景に関する新しい属性
background-clip: 背景の表示範囲を指定します。
background-origin: 背景画像を描画する際の開始点を指定します。
background-size: 背景の画像のサイズを指定します。
background-break: インライン要素の背景画像を並べて表示する場合のループ方法を指定します。
注:
Firefox ブラウザ:background-size 属性を除く他の 3 つの属性をサポートしており、属性の前にテキスト「-moz-」を追加する必要があります。 background-breakを使用する場合は「-moz-background-inline-policy」を記述する必要があります。
Safari、Google Chrome、Opera: 属性の前に「-webkit-」というテキストを追加する必要があります。
(1)背景の表示範囲
CSS2:背景の表示範囲は内部フィラー内の範囲を参照し、は参照しません枠線を含めます。
CSS2.1、さらにはCSS3: 背景の表示範囲とは、枠線を含む範囲を指します。
(2) 属性値
border: 背景範囲にはボーダー領域が含まれます。
パディング: 背景範囲 には 境界領域は含まれません。
div.div1{ -moz-background-clip:border; -webkit-background-clip:border; } div.div2{ -moz-background-clip:padding; -webkit-background-clip:padding; }
(1) 背景画像を描画する際、コンテンツフィラー領域の左上隅からdefaultが描画されます。
(2) 値
border: 境界線の左上隅から描画を開始します
padding: コンテンツのパディング領域の左上隅から描画を開始します
content: コンテンツの左上隅から描画を開始します
(3) ブラウザが異なります
Firefox: "-moz-background-origin";
Safari、Chorme: "-webkit-background-origin"
(4) 背景クリップ属性はpaddingとして指定されていますが、境界点線の中点、および点間の画像は表示されませんが、background-origin プロパティを境界線として指定することで、境界線の左上隅から描画を開始するように指定できます。
(1) 使用法
background-size: 画像要素の幅と高さ
(2) ブラウザのサポート:
これまでのところ: Safari3、Chrome8、Firefox4、および Opera10 ブラウザーがこの属性をサポートしています。
(3) 画像の縦横比を維持したい場合、別のパラメータをauto
(4)に設定することができます画像の幅を設定するときにブラウザでパラメータを1つだけ指定
しますheight この値を幅の値として扱い、auto を高さの値として扱います。
(5) パラメータとしてパーセントの値を使用します
ブラウザは、指定されたパーセンテージを、画像サイズを境界領域全体のサイズで割ったパーセンテージとして扱います
(6)キーワードを含むとしてパラメータ
これにより、アスペクト比を維持しながら元の画像が自動的に拡大または縮小され、元の画像の幅または高さが要素の幅または高さと完全に等しくなります(画像が要素内に完全に表示されます) 中央)
(7) カバーキーワード をパラメータ
これにより、元の画像が アスペクト比を維持 し、背景画像が要素内で 塗りつぶされるように自動的に拡大縮小されます 要素の縦横比は同じです 元画像の縦横比が一致しない場合、余分な部分が切り取られます。
(1) スペース
は、背景画像を水平方向または垂直方向にタイリングするときに、背景を超えて画像をトリミングしません。背景画像のサイズは変更されません。調整可能ですが、画像間の間隔は自動的に調整されます。
(2)round
背景画像を縦横に並べる際、背景を越える画像部分を切り取るのではなく、背景画像のサイズを自動的に調整します。
(3) ブラウザのサポート
これまでのところ: IE9 以降、Chrome、および Opera ブラウザがこの属性をサポートしています。
div{ background-repeat:space;//round }
CSS3では、1つの要素に複数の背景画像を表示したり、複数の背景画像を重ねて表示したりすることができるため、使用する素材がどのような背景画像になるかを調整することが可能ですより簡単に。
div{ background-image:url(flowe-red.png),url(flower-green.png),url(sky.png); background-repeat:no-repeat,repeat-x,no-repeat; background-position:3% 98%,85%,center center,top; }
(1)使用background-image属性来指定图像文件的时候,指定的时候是按在浏览器中显示时图像叠放的顺序从上往下指定的,第一个图像文件是放在最上面的,最后指定的文件是放在最下面的。
(2)通过多个background-repeat属性与background-position属性的指定,可以单独指定背景图像中某个图像文件的平铺方式与放置位置。
(3)允许被多重指定并配合多个图像文件一起利用的属性如下:
background-image、background-repeat、background-position、background-size、background-clip、background-origin。
CSS3中,支持对于元素指定渐变色背景。所谓渐变是指从一种颜色慢慢过渡到另一种颜色。渐变分为线性渐变与放射性渐变。
background:linear-gradient(to bottom,orange,black)
使用linear-gradient函数实现线性渐变,函数中使用三个参数。
(1)第一个参数值:
to bottom:指定从上往下的渐变,默认渐变起点为元素顶端,渐变重点为元素底端。
to bottom right:指定从左上往右下的渐变,默认渐变起点为元素左上角,渐变终点为元素右下角。
to right:指定从左往右的渐变,默认渐变起点为元素左边,渐变重点为元素右边。
to up right:指定从左下往右上的渐变,默认渐变起点为元素左下角,渐变终点为元素右上角。
to up:指定从下往上的渐变,默认渐变起点为元素底端,渐变终点为元素顶端。
to up left:指定从右下往左上的渐变,默认渐变起点为元素右下角,渐变终点为元素左上角。
to left:指定从右往左的渐变,默认渐变起点为元素右边,渐变终点为原左边。
to bottom left:指定从右上往左下的渐变,默认渐变起点为元素右上角,渐变终点为元素左下角。
可指定一个角度,用于指定渐变线的旋转角度
(2)第二个参数值代表渐变的起点色,第三个参数代表渐变的终点色。
div{ width:300px; height:300px; background:linear-gradient(to bottom,orange,black)//从顶端到底端、从桔色到黑色的线性渐变 }
(3)将第一个参数指定为一个角度,其作用为修改渐变线的角度
background:linear-gradient(30deg,orange,black);
如果角度为0,则渐变线的方向为从下往上,当角度增加时渐变线顺时针方向旋转。
(4)可以在起点色或终点色后边指定离渐变色起点或渐变色终点的偏离位置(不指定时默认值分别为0%及100%)
background:linear-gradient(to bottom,orange 20%,black 70%);
表示从p元素的顶端往下20%,即离元素顶端300(元素高度)*20%=60像素处开始渐变,一直渐变到离元素底端30%(100%-70%),即离元素底端300*30%=90像素处停止渐变。
(5)可以添加多个渐变的中间点
background:linear-gradient(to bottom,orange 0%,red 25%,yellow 50%,green 75%,black 100%);
background:radial-gradient(orange,black);
使用radial-gradient函数实现放射性渐变,函数使用两个参数,分别为渐变起点色与渐变终点色。
div{ background:radial-gradient(orange,black);//从中心向外扩散,从桔色到黑色的放射性渐变; }
(1)可以通过circle关键字或ellipse关键字指定绘制渐变呈圆形向外扩散方式还是呈椭圆形向外扩散方式。
div{ background:radial-gradient(circle,orange,black);//指定圆形渐变方式 }
(2)可以通过at关键字指定渐变起点位置
background:radial-gradient( at left top,orange,black);
可指定如下选项值:
center center:从元素中心点向外扩散(默认选项值)
left top:从元素左上角向外扩散
center top:从元素顶部中央向外扩散
right top:从元素右上角向外扩散
right center:从元素右端中央向外扩散
right bottom:从元素右下角向外扩散
center bottom:从元素底部中央向外扩散
left bottom:从元素左上角向外扩散
坐标值:例如(30,50),从指定坐标点处向外扩散
background:radial-gradient(circle at center top,orange,black); background:radial-gradient( at 130px 50px,orange,black);
(3)指定渐变尺寸
closest-side:可渐变到离渐变起点最近的一条边。
farthest-side:可渐变到离渐变起点最远的一条边。
closest-corner:可渐变到离渐变起点最近的一个角。
farthest-corner:可渐变到离渐变起点最远的一个角。
background:radial-gradient( ellipse closest-side at 130px 50px,orange,black);
(4)可通过对圆形渐变指定半径的方法指定渐变尺寸
background:radial-gradient( circle 95px at 130px 50px,orange,black);
(5)可通过对椭圆形渐变指定横向半径及纵向半径的方法指定渐变尺寸
background:radial-gradient( ellipse 235px 95px at 130px 50px,orange,black);
(6)可通过添加多个渐变色并指定偏离百分比的方法在渐变起点与渐变终点中添加多个渐变中间点
background:radial-gradient( circle 130px at130px 50px,orange 0%,red 25%,yellow 50%,green 75%,black);
到目前为止:IE、Safari、Firefox、Opera、Chorme浏览器都支持这种绘制圆角边框的样式。
在CSS3中,使用该属性指定好圆角的半径就可以绘制圆角边框了。
div{ border:soild 5px blue; border-radius:20px; }
(1)指定两个半径
在浏览器中,将第一个半径作为边框左上角与右下角圆半径来绘制,第二个半径作为边框右上角与左下角的圆半径来绘制
border-radius:40px 20px;
(2)不显示边框的时候
在CSS3中,如果使用了border-radius属性但是把边框设定为不显示的时候,浏览器将把背景的4个角绘制为圆角
div{ border:none; border-radius:20px; }
(3)修改边框种类的时候
使用border-radius属性后,不管边框是什么种类,都会将边框沿着圆角曲线进行绘制。
div{ border:dashed 5px blue; border-radius:20px; }
(4)绘制四个角不同半径的圆角边框
border-top-left-radius属性:指定左上角半径
border-top-right-radius属性:指定右上角半径
border-bottom-right-radius属性:指定右下角半径
border-bottom-left-radius属性:指定左下角半径
div{ border:dashed 5px blue; border-top-left-radius:10px;//指定左上角半径 border-top-right-radius:20px;//指定右上角半径 border-bottom-right-radius:30px;//指定右下角半径 border-bottom-left-radius:40px;//指定左下角半径 }
CSS3中增加了一个border-image属性,可以让元素的长度或宽度处于随时变化状态的边框统一使用一个图像文件进行绘制。。使用border-image属性,会让浏览器在显示图像边框时,自动将所使用到的图像分割为9部分进行处理,这样就不需要页面制作者另外进行人工处理了。另外,页面中也不需要因此而使用较多的元素。
(1)浏览器支持
到目前为止:IE、Safari、Firefox、Opera、Chorme浏览器都支持border-image属性的使用。
(2)使用方法
border-image:url(图像文件的路径) A B C D(该属性中至少必须指定5个参数)
A、B、C、 D:表示当浏览器自动把边框所使用到的图像进行分割时的上边距、右边距、下边距以及左边距。
div{ border:solid 5px; border-image:url(borderimage.png) 18 18 18 18; width:300px; }
(3)使用border-image属性来指定边框宽度
CSS3中,除了可以使用border属性或border-width属性来指定边框的宽度外,还可以使用border-image属性来指定边框宽度。
border-image:url(图像文件的路径) A B C D/border-width
div{ border:solid; border-image:url(borderimage.png) 18 18 18 18/10px;(指定为相同宽度) //border-image:url(borderimage.png) 10/5px 10px 15px 20px;(四条边的边框指定为不同的宽度) width:300px; }
注意:在CSS3中,如果4个参数完全相同,可以只写一个参数,将其他三个参数省略。
(4)指定4条边中图像的显示方式
可以在border-image属性中指定元素4条边中的图像是以拉伸的方式进行显示,还是以平铺的方式进行显示,
border-image:url(图像文件的路径) A B C D/border-width topbottom leftright
topbottom:表示元素的上下两条边中图像的显示方式
leftright:表示元素的左右两条边中图像的显示方式
显示方式的值:
repeat:图像将以平铺的方式进行显示
stretch:图像将以拉伸的方式进行显示
round
div{ border-image:url(borderimage.png) 10/5px repeat strerch; width:300px; height:200px; }
(5)使用背景图像
在使用border-image属性的时候,仍然可以正常使用背景图片,但是为了不让边框图像挡住背景图像,需要使用中间为透明的边框图像,否则背景图像就有可能被边框图像的中央挡住部分或全体。
div{ background-image:url(bk.png); background-repeat:no-repeat; border-image:url("borderimage.png") 20 20 20 20 /5px; background-origin:border; border-radius:18px; width:711px; height:404px; }
相关推荐:
CSS3 境界線属性 border_html/css_WEB-ITnose
以上がcss3の背景プロパティの枠線に関するプロパティの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。