>  기사  >  웹 프론트엔드  >  CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-04-25 16:30:352257검색

css3에 세 가지 새로운 테두리 효과가 추가되었습니다. 1. 테두리에 배경 이미지를 추가할 수 있는 테두리 이미지 "border-image" 2. 하나 이상의 둥근 모서리 효과를 추가할 수 있는 테두리 둥근 모서리 "border-radius" ;3. 테두리 그림자 "box-shadow"는 요소 상자에 하나 이상의 그림자를 추가할 수 있습니다.

CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

이 튜토리얼의 운영 환경: Windows7 시스템, CSS3&&HTML5 버전, Dell G3 컴퓨터.

css3는 세 가지 새로운 테두리 효과를 추가합니다

3
Attributes Description CSS
border-image 모든 테두리 이미지에 대한 단축 속성을 설정합니다. 3

1. 테두리 이미지 "border-image"

border-image는 테두리에 배경 이미지를 추가할 수 있습니다. 모든 주요 브라우저의 최신 버전은 이제 border-image 속성을 지원합니다.

구문:

CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

설명:

border-image 속성은 콘텐츠의 3가지 측면을 정의해야 합니다.

(1) 이미지 경로.

(2) 절단 폭 : 위쪽 가장자리, 오른쪽 가장자리, 아래쪽 가장자리, 왼쪽 가장자리(시계 방향) 순으로 네 변의 절단 너비입니다.

(3) 타일링 방법: 반복, 라운드, 늘이기의 3가지 값이 있습니다.

이 섹션의 모든 예에서는 그림에 표시된 90px×90px 그림을 테두리의 배경 이미지로 사용합니다.

CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

코드 예:

<!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에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

분석:

미리보기 효과를 통해 4개 모서리에 위치한 숫자 1, 3, 7, 9가 여전히 4개 모서리에 위치하고 있음을 알 수 있습니다. 그러면 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}

각 값은 숫자 값 또는 백분율 형식일 수 있습니다.

length/length 첫 번째 길이는 수평 방향의 반경을 나타내고, 두 번째 길이는 수직 방향의 반경을 나타냅니다.

값이라면 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래의 네 가지 값이 동일합니다.

두 개의 값이 있는 경우 왼쪽 상단과 오른쪽 하단이 동일하여 첫 번째 값이고, 오른쪽 상단과 왼쪽 하단이 동일하여 두 번째 값입니다.
CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?
값이 3개인 경우 첫 번째 값은 왼쪽 위를 설정하고, 두 번째 값은 오른쪽 위와 왼쪽 아래를 동일하게 설정하고, 세 번째 값은 오른쪽 아래를 설정합니다.
CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?
값이 4개 있는 경우 첫 번째 값은 왼쪽 위, 두 번째 값은 오른쪽 위, 세 번째 값은 오른쪽 아래, 네 번째 값은 왼쪽 아래로 설정됩니다.
CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

위의 약어 외에도 다음과 같이 네 모서리를 테두리처럼 별도로 작성할 수도 있습니다.

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

는 각각 가로 및 세로 반경입니다. 두 번째 값을 생략하면 가로 및 세로 반경이 동일합니다.
border-radius는 다음 버전의 브라우저에서만 사용할 수 있습니다: Firefox4.0+, Safari5.0+, Google Chrome 10.0+, Opera 10.5+, IE9+ 이전 브라우저의 경우 border-radius 표준 구문 형식이 지원됩니다. -radius 다른 브라우저 커널에 따라 다른 접두사를 추가해야 합니다. 예를 들어 Mozilla 커널은 "-moz"를 추가해야 하고 Webkit 커널은 "-webkit"을 추가해야 합니다. 그러나 IE와 Opera에는 없습니다. private 형식이므로 호환성을 최대화하기 위해 브라우저의 경우 다음과 같이 설정해야 합니다.

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

브라우저 비공개 형식 다음에 표준 형식을 작성해 주세요.

예:

<!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에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?" >
</body>
</html>

CSS3에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?

3. 테두리 그림자 "box-shadow"

CSS에서는 box-shadow 속성을 사용하여 테두리 그림자 효과를 얻을 수 있습니다. 하나 또는 여러 개의 그림자가 있는 상자로 설정할 수 있습니다.

Syntax

box-shadow: h-shadow v-shadow blur spread color inset;

가능한 값:

说明
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에 추가된 세 가지 새로운 테두리 효과는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.