CSS中的圆角和阴影

目录

盒子圆角

圆角基础使用

圆角常见使用

通过设置盒子圆角得到一个圆形

通过设置盒子圆角,得到一个"操场"的样式

盒子阴影

文字阴影


盒子圆角

圆角基础使用

在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。

使用border-radius属性用于设置元素的外边框圆角。

基本语法如下:

css 复制代码
选择器 {
    border-radius: 值;  
}
  • 参数值可以为数值或百分比的形式
  • 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或者直接写为 50%
  • 该属性是一个简写属性,可以跟四个值,分别代表左上角、右上角、右下角、左下角
  • 分开写:border-top-left-radiusborder-top-right-radiusborder-bottom-right-radiusborder-bottom-left-radius

示例代码:

  • 四个角等半径
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            border-radius: 10px;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

效果如下:

  • 两个角对等半径
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            border-radius: 10px 30px;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

效果如下:

  • 三个角半径(左上角,右上与左下角,右下角)
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            border-radius: 10px 50px 70px;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

效果如下:

  • 四个角各不相等
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            border-radius: 10px 30px 50px 70px;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

圆角常见使用

通过设置盒子圆角得到一个圆形

所谓圆形,放入一个正方形中就是正方形四个边均与圆相切,此时半径即为正方形每一条边长的一半

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            /* 精确值 */
            /* border-radius: 100px; */
            /* 百分比 */
            border-radius: 50%;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

效果如下:

通过设置盒子圆角,得到一个"操场"的样式

  • 即两个半圆拼接到长方形的两个短边
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子圆角</title>
    <style>
        div {
            width: 600px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .round {
            /* 前提为长方形 */
            width: 600px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子圆角 */
            /* 精确值 */
            /* 设置为高度的一半长度 */
            border-radius: 100px;
        }
    </style>
</head>

<body>
    <div></div>
    <div class="round"></div>
</body>

</html>

效果如下:

盒子阴影

CSS3 中新增了盒子阴影,可以使用 box-shadow 属性为盒子添加阴影。

基本语法如下:

css 复制代码
选择器 {
    box-shadow: h-shadow v-shadow blur spread color inset;
}

属性值介绍:

|------------|------------------------------------|
| 属性值 | 描述 |
| h-shadow | (必需值)水平阴影(horizontal shadow),可以为负值 |
| v-shadow | (必需值)垂直阴影(vertical shadow),可以为负值 |
| blur | (可选值)阴影模糊程度 |
| spread | (可选值)阴影尺寸 |
| color | (可选值)阴影颜色 |
| inset | (可选值)将外(盒子的背面)阴影改为内(盒子之上)阴影 |

注意

  1. 默认的是外阴影(outset) ,但是不可以显式写这个单词,否则造成阴影无效
  2. 盒子阴影不占用空间,不会影响其他盒子排列。

示例代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子阴影</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            margin-bottom: 20px;
        }

        .shadow {
            width: 200px;
            height: 200px;
            background-color: #0ad192;
            /* 设置盒子阴影 */
            box-shadow: 0px 5px 10px 10px rgba(0, 0, 0, 0.2);
        }
    </style>
</head>

<body>
    <div></div>
    <div class="shadow"></div>
</body>

</html>

效果如下:

文字阴影

在 CSS3 中,可以使用 text-shadow 属性将阴影应用于文本

基本语法如下:

css 复制代码
选择器 {
    text-shadow: h-shadow v-shadow blur color;
}

属性值介绍:

|------------|------------------------------------|
| 属性值 | 描述 |
| h-shadow | (必需值)水平阴影(horizontal shadow),可以为负值 |
| v-shadow | (必需值)垂直阴影(vertical shadow),可以为负值 |
| blur | (可选值)阴影模糊程度 |
| color | (可选值)阴影颜色 |

示例代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文本阴影</title>
    <style>
        span {
            font-size: 100px;
            color: red;
            text-shadow: 2px 10px 2px rgba(0, 0, 0, 0.5);
        }
    </style>
</head>

<body>
    <span>文本阴影</span>
</body>

</html>

效果如下:

相关推荐
NCDS程序员14 分钟前
v-model: /v-model/ :(v-bind)三者核心区别
前端·javascript·vue.js
夏幻灵22 分钟前
CSS三大特性:层叠、继承与优先级解析
前端·css
小杨同学呀呀呀呀39 分钟前
Ant Design Vue <a-timeline>时间轴组件失效解决方案
前端·javascript·vue.js·typescript·anti-design-vue
华玥作者9 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
Mr Xu_9 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠9 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang201509289 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
好家伙VCC10 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
未来之窗软件服务11 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整11 小时前
面试点(网络层面)
前端·网络