CSS 基础 4

简介: CSS 基础 4

圆角边框

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

圆角在我们生活中很常见, 例如:

① 我们浏览器的标签 显示就会是一个圆角边框

② 浏览器的搜索栏

        如何设置圆角边框??

       设置属性 border-radius 即可

语法

       border-radius: lengthpx;  /*  length 的单位为px  */

       /* radius 半径, 圆与边框的交集形成圆角效果 */

        length就是我们设置的圆的半径.

例如:

    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border-radius: 20px;
 
            margin: 200px auto;
        }
    </style>
    <div>
 
    </div>

显示如下:  

如果把border-radius: 20px; 改为 border-radius: 50%; 圆角边框就会变成一个圆:

       也就是说一个圆形的盒子, 需要一个正方形的盒子, 然后设置圆角边框为50%, 就可以设置上面这个样式了.

总结一下:

  • 参数值可以是数值或者百分比的形式
  • 如果是正方形, 想要设置一个圆, 把数值修改为高度或者宽度的一半即可, 或直接写为50%
  • 如果是一个矩形, 想要做成一个椭圆, 把半径设置为高度的一半就可以了
  • 属性的简写: 写一个数值是代表四个角的半径, 但是还有两个参数, 三个参数, 四个参数的值
    一个值: 四个角都是一个值
    两个值: 左上右下是第一个值, 右上左下是第二个值
    四个值: 从左到右依次是, 左上, 右上, 右下, 左下
  • 分开写: border-top-left-radius、border-top-right-radius、border-bottom-right-radius和border-bottom-left-radius

盒子阴影

什么是盒子阴影

       什么是盒子阴影? 下面有个很简单的例子, 下面是小米商城的一个例子, 如下:

当我把鼠标放上去的时候, 这个盒子周围就会显示一圈阴影:

看不出来?? 我们放大来看看:

这是没有把鼠标放上去的情况:

当我把鼠标放上去之后:

明显黑了一圈, 我们再吸取色号看看:

没有放上去的色号为#FFFFFF

放上去之后的色号为#F0F0F0

       这就是我们css3中新增的阴影效果.

在css3中我们可以设置box-shadow属性来为盒子添加阴影

语法为:

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

box-shadow参数

参数解析:

描述
h-shadow 必须. 水平阴影的位置, 允许负值
v-shadow 必须. 垂直阴影的位置, 允许负值
blur 可选, 模糊距离
spread 可选, 阴影的尺寸
color 可选, 阴影的颜色
inset 可选, 将外部阴影改为内部阴影
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border-radius: 20px;
 
            margin: 200px auto;
        }
    </style>
    <div>
 
    </div>

举个例子, 这里有个盒子, 如下:

下面我们设置这个阴影, 添加box-shadow属性如下:

    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border-radius: 20px;
            margin: 200px auto;
 
            /* 添加的box-shadow属性 */
            box-shadow: 20px 20px red;
        }
    </style>
    <div>
 
    </div>

结果显示如下:

模糊

       模糊为blur, 单位为px

如果添加模糊选项, 也就是blur如下:

       div {

           width: 200px;

           height: 200px;

           background-color: pink;

           border-radius: 20px;

           margin: 200px auto;

           /* 添加的box-shadow属性 */

           box-shadow: 20px 20px 10px red;

       }

可以看到如下效果:  (可以看到这个阴影的边缘模糊化了)

阴影大小

添加第四个属性, 也就是spread, 单位为px, 可以让阴影更大, 例如:

           box-shadow: 20px 20px 10px 10px red;

如果将spread属性设置为40px呢 ?

           box-shadow: 20px 20px 10px 40px red;

内阴影

       使用inset属性来添加内阴影

例如, 有如下盒子:

    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border-radius: 20px;
            margin: 200px auto;
 
            /* 添加的box-shadow属性 */
            box-shadow: 20px 20px 10px red;
        }
    </style>
    <div>
 
    </div>

现在在box-shadow中添加 内阴影属性如下:

box-shadow: 20px 20px 10px red inset;

影子就在盒子里面了.

需要注意的是:

  • 盒子默认是outset的, 但是不可以写这个单词, 如果写上了box-shadow这个属性就会失效.
  • 盒子阴影不占用空间, 不会影响其他盒子排列

鼠标互动效果hover

       但是我们想做到那种, 鼠标一放上去就可以显示阴影, 鼠标拿开阴影就会消失的效果, 该如何来做呢? 这个就要用到我们的伪类标签了.

    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border-radius: 20px;
            margin: 200px auto;
 
            /* 添加的box-shadow属性 */
        }
 
        div:hover {
            box-shadow: 10px 10px 10px -4px rgba(0, 0, 0, 0.3);
 
        }
    </style>
    <div>
 
    </div>

 

将鼠标放上去之后:

文字阴影

        在css3中, 我们可以使用text-shadow属性来设置文字阴影, 应用于文本.

       对于其文本的样式, 我们可以参考一下盒子的阴影

参数

描述
h-shadow 必须, 水平阴影的位置, 允许负值
v-shadow  必须, 垂直阴影的位置, 允许负值
blur 可选, 模糊的距离
color 可选, 阴影的颜色

例如:

    <style>
        div {
            width: 200px;
            height: 200px;
            border-radius: 20px;
            margin: 200px auto;
 
            /* 添加的text-shadow属性 */
            text-shadow: 5px 5px 2px rgba(0, 0, 0, 0.3);
        }
    </style>
    <div>
        哈哈哈我是买火柴的小女孩
    </div>


目录
相关文章
|
9天前
|
前端开发 开发者 UED
CSS进阶-CSS Sprites技术
【6月更文挑战第14天】**CSS Sprites是一种合并多个小图至大图的技术,减少HTTP请求,提升页面加载速度。本文探讨了精灵图的核心概念,常见问题(如定位不准、适应性问题、维护困难)及解决方案。建议使用工具精确计算坐标,采用媒体查询适应不同屏幕,建立图标管理机制,并提供代码示例展示如何应用。尽管有WebP、SVG等新技术,但在处理大量小图标时,CSS Sprites仍是高效选择。理解和掌握此技术对前端开发者至关重要。**
|
10天前
|
前端开发 JavaScript 开发者
CSS进阶-CSS变量
【6月更文挑战第13天】本文介绍了CSS变量(Custom Properties)的基本概念、应用场景和常见问题。通过声明与使用示例,展示了如何定义和引用变量。文章讨论了兼容性、作用域、错误引用及JavaScript交互等易错点,并提供了相应的解决方案。此外,还分享了实践技巧,如模块化色彩系统、响应式设计和动画制作。通过学习,开发者能更好地利用CSS变量提高样式灵活性和维护性。
|
1月前
|
前端开发
CSS基础 2(2)
CSS基础 2
15 2
|
1月前
|
前端开发 容器
CSS 基础 3
CSS 基础 3
12 1
|
29天前
|
XML 前端开发 JavaScript
学习css
【5月更文挑战第25天】学习css
20 1
|
1月前
|
前端开发 安全 容器
CSS基础 2(1)
CSS基础 2
13 0
|
1月前
|
Web App开发 XML 前端开发
CSS基础-超详解 (1)
CSS基础-超详解 (1)
14 0
|
1月前
|
前端开发
|
9月前
|
前端开发
CSS基础
CSS基础
63 0
|
10月前
|
前端开发 JavaScript
CSS | 前端三件套之CSS
CSS | 前端三件套之CSS