ホームページ >ウェブフロントエンド >フロントエンドQ&A >css3 に追加された 3 つの新しい境界線効果は何ですか?

css3 に追加された 3 つの新しい境界線効果は何ですか?

青灯夜游
青灯夜游オリジナル
2022-04-25 16:30:352386ブラウズ

css3 には 3 つの新しい境界線効果があります: 1. 境界線に背景画像を追加できる境界線画像「border-image」、2. 境界線に背景画像を追加できる境界線の丸い角「border-radius」以上 角丸効果; 3. 要素ボックスに 1 つ以上の影を追加できるボーダー シャドウ「box-shadow」。

css3 に追加された 3 つの新しい境界線効果は何ですか?

このチュートリアルの動作環境: Windows 7 システム、CSS3&HTML5 バージョン、Dell G3 コンピューター。

css3 は 3 つの新しい境界線効果を追加します

box-shadow1 つ以上のドロップダウン ボックスのシャドウを追加します#3##

1. 境界線画像 "border-image"

border-image プロパティは、境界線に背景画像を追加できます。すべての主要なブラウザの最新バージョンは、border-image 属性をサポートするようになりました。

構文:

css3 に追加された 3 つの新しい境界線効果は何ですか?

説明:

border-image 属性は次のようにする必要があります。コンテンツの 3 つの側面を定義しました。

(1) 画像のパス。

(2) カット幅:四辺のカット幅を上端、右端、下端、左端の順(時計回り)に設定します。

(3) タイリング方法:repeat、round、stretch の 3 つの値があります。

このセクションのすべての例では、図に示されている 90px×90px の画像を境界線の背景画像として使用します。

css3 に追加された 3 つの新しい境界線効果は何ですか?

コード例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        div
        {
            width:210px;
            height:150px;
            border:30px solid gray;
            border-image:url(img/border.png) 30 repeat;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

ブラウザのプレビューは以下のようになります。

css3 に追加された 3 つの新しい境界線効果は何ですか?

分析:

プレビュー効果から、番号 1、3、7、9 が次の位置にあることがわかります。四隅はそのまま 素直に四隅に位置します。次に、4 つの境界線 2、4、6、8 が連続してタイル化されます。

border-image属性についてまとめると以下のようになります。

(1) ボーダー背景画像を作る場合は4辺を作り、真ん中をくり抜く必要があります。 。

(2) 境界線の背景画像の各辺の幅は、対応する境界線の幅 (つまり、border-width) と同じである必要があります。

2. 境界線の角丸「border-radius」

border-radius 属性は、境界線に角丸効果を追加できます

border-radius 属性は要素の角の半径を定義します。CSS border-radius 属性を通じて、任意の要素の「角が丸い」スタイルを実現できます。

構文:

border-radius: none | length{1,4} [/ length{1,4}

各値は、数値またはパーセンテージの形式にすることができます。

長さ/長さ 最初の長さは水平方向の半径を表し、2 番目の長さは垂直方向の半径を表します。

値の場合、左上、右上、右下、左下の 4 つの値は等しいです。

値が 2 つある場合、左上と右下が等しく最初の値となり、右上と左下が等しく 2 番目の値になります。
css3 に追加された 3 つの新しい境界線効果は何ですか?
値が 3 つある場合、最初の値は左上に設定され、2 番目の値は右上と左下に設定され、それらは等しくなります。3 番目の値は次のようになります。右下に設定します。
css3 に追加された 3 つの新しい境界線効果は何ですか?
4 つの値がある場合、最初の値は左上に設定され、2 番目の値は右上に設定され、3 番目の値は右下に設定され、4 番目の値は右下に設定されます。値は左下に設定します。
css3 に追加された 3 つの新しい境界線効果は何ですか?

上記の省略形に加えて、次のように境界線のように四隅を分けて記述することもできます。 はそれぞれ水平方向と垂直方向の半径で、2 番目の値を省略した場合は水平方向と垂直方向の半径が等しくなります。

border-radius は、ブラウザのバージョン: Firefox4.0、Safari5.0、Google Chrome 10.0、Opera 10.5、および IE9 でのみ border-radius 標準構文形式をサポートします。古いブラウザの場合は、border-radius を次のバージョンにする必要があります。に基づいて、異なるブラウザ カーネルは異なるプレフィックスを追加します。たとえば、Mozilla カーネルは「-moz」を追加する必要があり、Webkit カーネルは「-webkit」を追加する必要があります。ただし、IE と Opera にはプライベート形式がないため、ブラウザの互換性を最大限に高めるために、次のように設定する必要があります:

border-top-left-radius: //左上角 
border-top-right-radius: //右上角 
border-bottom-right-radius: //右下角 
border-bottom-left-radius: //左下角

ブラウザのプライベート フォームの後に標準フォームを記述してください。

#例:

-webkit-border-radius: 10px 20px 30px; 
-moz-border-radius: 10px 20px 30px; 
border-radius: 10px 20px 30px;


css3 に追加された 3 つの新しい境界線効果は何ですか?##3. ボーダーシャドウ「box-shadow」

CSS では、box-shadow 属性を使用して境界線のシャドウ効果を実現できます。box-shadow 属性は 1 つ以上のドロップダウン シャドウ ボックスを設定できます。

構文

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="Keywords" content="关键词一,关键词二">
<meta name="Description" content="网站描述内容">
<meta name="Author" content="刘艳">
<title></title>
<style>
img {
border-radius: 30px;
margin: 100px;
}
</style>
</head>
<body>
<img  src="../images/photo.jpg"    style="max-width:90%" alt="css3 に追加された 3 つの新しい境界線効果は何ですか?" >
</body>
</html>

可能な値:

属性 説明 CSS
border-image すべての境界線イメージの短縮プロパティを設定します。 3
border-radius 4 つの border-*-radius プロパティをすべて設定するための短縮プロパティ 3
说明
h-shadow 必需的。水平阴影的位置。允许负值
v-shadow 必需的。垂直阴影的位置。允许负值
blur 可选。模糊距离
spread 可选。阴影的大小
color 可选。阴影的颜色。
inset 可选。从外层的阴影(开始时)改变阴影内侧阴影

注意:boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表,每个阴影由 2-4 个长度值、一个可选的颜色值和一个可选的 inset 关键字来规定。省略长度的值是 0。

box-shadow属性的使用

1、水平垂直偏移为0也可以有阴影

如果offset-x或offset-y值为0,则阴影在元素背后,此时给blur-radius值或spread值可以产生阴影效果。

例子:

  • 第一个div通过设置blur-radius产生阴影效果。

  • 第二个div通过设置spread正值产生阴影效果。

  • 第三个div通过设置spread负值产生阴影效果。

但是有一点要注意:扩展阴影必须和阴影模糊半径配合使用。

我个人觉得应该是没有配合使用这一说,但不可能只设置扩展阴影,因为扩展阴影和阴影模糊的取值都可以为正。如果只有扩展阴影的话,会被浏览器当做模糊阴影来解析,所以也可以简单理解为“扩展阴影必须和阴影模糊半径配合使用”,如果只用扩展阴影,可以写成:box-shadow:0 0 0 1px;。

<style type="text/css">
div{
    width: 100px;
    height: 100px;
    margin:50px;
    border: 10px dotted pink;
    display: inline-block;
}
.blur{
        box-shadow: 0 0  20px ;
        /*box-shadow: 0 0  20px green;*/ /*也可以自定义颜色*/
}  
.spread-positive{
        box-shadow: 0 0 20px 5px ;
        /* box-shadow: 0 0 20px 5px green;*/ /*也可以自定义颜色*/
}
.spread-negative{
        box-shadow: 0 0 20px -5px ;
        /* box-shadow: 0 0 20px -5px green;*/ /*也可以自定义颜色*/
}
</style>
<body>
<div class="blur"></div>
<div class="spread-positive"></div>
<div class="spread-negative"></div>
</body>

2、设置水平垂直偏移得到阴影效果

outset情况:水平垂直偏移为0,但是不设置blur和spread,看不到阴影,因为此时box-shadow的周长和border-box一样,所以可以通过设置偏移让阴影显示出来。

inset情况:水平垂直偏移为0,不设置blur和spread,同样看不到阴影,因为此时box-shadow的周长和padding-box一样,同样可通过设置偏移让阴影显示出来。

例子:

<style type="text/css">
div{
    width: 100px;
    height: 100px;
    margin:50px;
    border: 10px dotted pink;
    display: inline-block;
}
.shadow0{box-shadow: 0 0;}  
.shadow1{box-shadow: 1px 1px;}
.shadow10{box-shadow: 10px 10px;}
.inset-shadow0{box-shadow: 0 0 inset;}  
.inset-shadow1{box-shadow: 1px 1px inset;}
.inset-shadow10{box-shadow: 10px 10px inset;}
</style>
<body>
    <div class="shadow0"></div>
    <div class="shadow1"></div>
    <div class="shadow10"></div>
    <div class="inset-shadow0"></div>
    <div class="inset-shadow1"></div>
    <div class="inset-shadow10"></div>
</body>

3、投影方式

投影方式默认是outset,即外部投影,可设置inset让向内投影。

例子:第一个div默认outset,第二个设置inset,第三个同时设置两个阴影可以更好的看到outset和inset的关系,第四个div可以看出inset阴影在背景之上,内容之下。

<style type="text/css">
div{
    width: 100px;
    height: 100px;
    margin:50px;
    border: 10px dotted pink;
    display: inline-block;
    vertical-align: top;
} 
.outset{
    box-shadow: 10px 10px teal;
}
.inset{
    box-shadow: 10px 10px teal inset;    
}
.double{
    box-shadow: 10px 10px teal inset,10px 10px teal;
}
.bg{
    background-color: yellow;
}
</style>
<body>
    <div class="outset"></div>
    <div class="inset"></div>
    <div class="double"></div>
    <div class="inset bg">inset阴影在背景之上,内容之下</div>
</body>

4、如果元素同时指定border-radius属性,则阴影呈现相同的圆角。

<style type="text/css">
 div{
 width: 100px;
    height: 100px;
    margin:50px;
    border: 10px dotted pink;
    display: inline-block;
    border-radius: 50px;
 }
.shadow{
    box-shadow: 0 0  10px 10px green;
}
</style>
<body>
<div class="shadow"></div>
</body>

(学习视频分享:css视频教程web前端

以上がcss3 に追加された 3 つの新しい境界線効果は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。