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>

效果如下:

相关推荐
用户173359807537几秒前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
IT_陈寒44 分钟前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
Avan_菜菜7 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
爱勇宝12 小时前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
IT_陈寒15 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen15 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺15 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
红尘散仙16 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队17 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端17 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+