目录
border-radius
box-shadow
box-sizing
text-overflow
transition(过渡)
指定属性
delay
transition-timing-function
首页 web前端 html教程 CSS3 学习笔记_html/css_WEB-ITnose

CSS3 学习笔记_html/css_WEB-ITnose

Jun 24, 2016 am 11:15 AM

border-radius

圆角是做网页永远绕不过的话题,以前基本是通过背景图片做的,有了 CSS3 以后通过属性就 能够搞定,我们可以通过 border-radius 设置元素的圆角半径。

border-radius: 5px;
登录后复制

对于一个正方形,我们只需要设置为边长的一半就可以呈现一个圆。

div {    width: 200px;    height: 200px;    border-radius: 50%; // 设置百分比    border-radius: 100px; // 设置长度一半}
登录后复制

代码

border-radius 是缩写的格式,其实 border-radius 和 border 属性一样,还可以把各个角单独拆分出来,也就是以下四种写法

border-top-left-radius: length, length;border-top-right-radius: length, length;border-bottom-left-radius: length, length;border-bottom-right-radius: length, length;
登录后复制

第一个值是圆角水平半径,第二个值是垂直半径,如果第二个值省略,那么其等于第一个值,这时这个角就是一个四分之一的圆角,如果任意一个值为0,那么这个角就不是圆角

box-shadow

CSS3 原生支持了阴影效果

box-shadow:inset h-shadow v-shadow blur-radius spread-radius color
登录后复制

box-shadow 属性至多有6个参数设置:

  1. 阴影类型:此参数是一个可选值,如果不设值,其默认的投影方式是外阴影;如果取其唯一值inset,就是将外阴影变成内阴影

  2. h-shadow: 是指阴影水平偏移量其值可以是正负值可以取正负值,如果值为正值,则阴影在对象的右边,反之其值为负值时,阴影在对象的左边

  3. v-shadow: 是指阴影的垂直偏移量,其值也可以是正负值,如果为正值,阴影在对象的底部,反之其值为负值时,阴影在对象的顶部

  4. 阴影模糊距离:此参数是可选,,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊

  5. 阴影阴影的尺寸:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值是,则缩小

  6. 阴影颜色:此参数可选,如果不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样

box-shadow 可以使用一个或多个投影,如果使用多个投影时必须需要用逗号,分开

box-shadow: 3px 3px 3px orange, 3px 3px 3px red;
登录后复制

box-sizing

这个属性多少和边框也相关,传统的盒模型width就是指内容区域宽度,和padding、border没有关系,但是这在布局上带来一定的困难

box-sizing 可以改变盒模型

  1. content-box:标准盒模型
  2. border-box:
    width = padding-left + padding-right + border-left-width + border-right-width + content width
    height = padding-top + padding-bottom + border-top-width + border-bottom-width + content height
div {    width: 100px; // width 包含了左右padding的宽度 + 左右border的宽度    height: 100px; // height 包含了上下padding的宽度 + 上下border的宽度    padding: 20px;    border: 1px solid #000;    box-sizing: border-box;}
登录后复制

代码

text-overflow

  1. clip:隐藏超出文本
  2. ellipsis:显示省略符号来代表被修剪的文本。

对于省略号效果还需要其它属性配合

p {    width: 100px;    overflow: hidden;    white-space: nowrap;    text-overflow: ellipsis;}
登录后复制

担心会有人提问上面的代码只能在第一行显示省略号,假如我想在第二行或者第三行显示怎么办呢?

代码

原理就是通过伪元素 ::after 来实现是不是非常的 easy。

过渡和动画

CSS3 的动画是浏览器原生支持的,好处就是流畅

transition(过渡)

在CSS3引入 transition 之前css没有时间轴,所有的状态变化都是瞬间完成。

transition 的作用在于,指定状态变化所需要的时间

div {    width: 100px;    height: 100px;    border: 1px solid #000;    background-color: #000;    transition: all 1s;}div:hover {    width: 200px;    height: 200px;}
登录后复制

代码

指定属性

我们还可以指定transition适用的属性

div {    transition: 1.5s width;}
登录后复制

完整代码

这样一来,只有height的变化需要1秒实现,其他变化(主要是width)依然瞬间实现。

在同一行transition语句中,可以分别指定多个属性

div {    transition: 1.5s width, 1s height;}
登录后复制

代码

delay

delay:中文翻译延迟,顾名思义就是延迟多长时间在执行状态变化。

需要注意的是 delay的参数是在时间的后面

div {    transition: 状态完成时间 height, 状态完成时间 延迟时间(delay) width;}
登录后复制
div {    transition: 2s height, 0.5s 2s width;}
登录后复制

完整代码

delay的真正意义在于,它指定了动画发生的顺序,使得多个不同的transition可以连在一起,形成复杂效果

transition-timing-function

transition的状态变化速度(又称timing function),默认不是匀速的,而是逐渐放慢,这叫做ease

div {    transition: 1s ease;}
登录后复制

除了ease以外,其他模式还包括

  • linear:匀速
  • ease-in:加速
  • ease-out:减速
  • ease-in-out:规定以慢速开始和结束的过渡效果
  • cubic-bezier函数:自定义速度模式 链接
  • 注意事项

    1. 目前,各大浏览器(包括IE 10)都已经支持无前缀的transition,所以transition已经可以很安全地不加浏览器前缀 transition兼容性
    2. transition需要明确知道,开始状态和结束状态的具体数值,才能计算出中间状态,什么none到block之类的是不行的
    3. transition是一次性的,不能重复发生,除非一再触发。

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    2 周前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    2 周前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    < datalist>的目的是什么。 元素? < datalist>的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

    本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

    > gt;的目的是什么 元素? > gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

    本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

    < iframe>的目的是什么。 标签?使用时的安全考虑是什么? < iframe>的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

    本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

    < meter>的目的是什么。 元素? < meter>的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

    本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

    如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

    本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

    视口元标签是什么?为什么对响应式设计很重要? 视口元标签是什么?为什么对响应式设计很重要? Mar 20, 2025 pm 05:56 PM

    本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

    HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

    文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

    我如何使用html5< time> 元素以语义表示日期和时间? 我如何使用html5< time> 元素以语义表示日期和时间? Mar 12, 2025 pm 04:05 PM

    本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

    See all articles