热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Web前端学习—基础篇(33)_CSS3背景属性:多背景、渐变、多列布局、过渡效果——transition属性、2D|3D变换——transform属性、calc()函数

6.5、css3背景属性6.5.1、多背景background-image:url(图片路径),url(图片路径);多背景中背景图书写越靠前,显示越靠前6.5.2、ba

6.5、css3背景属性

6.5.1、多背景

background-image: url(图片路径), url(图片路径);
多背景中背景图书写越靠前,显示越靠前

6.5.2、background-size属性 背景图尺寸

  • background-size: 数值; 按比例缩放

  • background-size: cover;覆盖,等比例缩放背景图片到铺满盒子,背景图可能无法完整显示在盒子中

  • background-size: contain; 包含,等比例缩放背景图片到完整显示在盒子中,背景图在区域范围内可能铺不满

background-size: 100px;/* 等比例缩放 */
background-size: 100px 200px;/* 根据尺寸缩放 */

6.5.3、background-clip属性 背景的绘制区域

  • background-clip: content-box; 背景被裁剪到内容区域,仅在内容区域显示

  • background-clip: padding-box;背景被裁剪到内填充区域,在内容、内填充区域显示

  • background-clip: border-box;背景被裁剪到边框区域,在内容、内填充、边框区域显示,默认值

6.5.4、background-origin属性 背景图片的定位区域

  • background-origin: content-box; 背景图片相对于内容来定位
  • background-origin: padding-box; 背景图片相对于内填充来定位,默认
  • background-origin: border-box; 背景图片相对于边框来定位

6.5.5、渐变

  • 线性渐变 linear-gradient
background-image: linear-gradient(方向, 颜色1 范围1, 颜色2  范围2,...);
    方向:left|right top|bottom、ndeg(n数值,正值沿着顺时针方向)

重复线性渐变:
background-image: repeating-linear-gradient(方向, 颜色1 范围1, 颜色2  范围2,...);
  • 径向渐变 radial-gradient
background-image: radial-gradient(中心位置, 渐变形状, 颜色1 范围1, 颜色2 范围2,...);
    中心位置:left|center|right  top|center|bottom、x y
    渐变形状:circle圆、ellipse椭圆形(默认值)

重复径向渐变:
    background-image: repeating-radial-gradient(中心位置, 渐变形状, 颜色1 范围1, 颜色2 范围2,...);

6.5.6、resize属性 用户是否可以手动调整元素的尺寸

  • resize: none; 不允许用户调整元素尺寸

  • resize: both; 用户可以调整元素的宽度和高度

  • resize: vertical; 用户可以调整元素的高度

  • resize: horizontal; 用户可以调整元素的宽度

 属性生效必须与overflow属性组合使用,属性值可以是hidden|auto|scroll

6.5.7、box-sizing属性 以特定的方式定义匹配某个区域的特定元素

  • box-sizing: border-box; 从已设置好的width属性和height属性中减去border、padding值,得到内容的宽度和高度

  • box-sizing: content-box; 在width属性和height属性之外绘制border、padding,默认值

6.5.8、多列布局

  • column-count属性 列数
  column-count: n; 内容划分为n列
  column-count: auto; 由其他属性决定列数
  • column-width属性 列宽
 columnt-width: npx; 每列的宽度为npx
 column-width: auto; 由其他属性决定宽度
  • column-gap属性 列间隔
  column-gap: npx; 两列之间的间隔为npx
  column-gap: normal; 常规值,1em
  • column-rule属性 列与列之间的分割线
column-rule: column-rule-width  column-rule-style  column-rule-color;
      column-rule-width属性 分割线的宽度
      column-rule-style属性 分割线的线型(solid   double  dotted dashed)
      column-rule-color属性 分割线的颜色
  • column-span属性 跨列合并
column-span: all; 横跨所有列合并

6.5.9、过渡效果——transition属性.

transition: transition-property  transition-duration  transition-timing-function  transition-delay;
transition: css属性                执行时间(单位s|ms)    速度类型                   延迟时间(s|ms)
    1s = 1000ms
    css属性:all表示所有属性
    速度类型:linear匀速、ease平滑过渡,默认值、ease-in加速、ease-out减速、ease-in-out先加速后减速
 要显示过渡效果,必须要有执行时间,否则执行时间默认为0,不产生过渡效果
transition: width 3s, background-color 1s;

6.5.10、2D|3D变换——transform属性

(1)2D变形

  • transform: translate(x,y) 平移
    transform: translate(100px,0);/* 100px水平向右移动 */
    transform: translate(-100px,0);/* -100px水平向左移动 */
    transform: translateX(-100px);沿着水平方向位移

    transform: translate(0,100px);/* 100px垂直向下移动 */
    transform: translate(0,-100px);/* -100px垂直向上移动 */
    transform: translateY(-100px);/* 沿着垂直方向位移 */

    transform: translate(-100px);/* 如果只有一个值,表示沿着水平方向移动 */
  • transform: rotate(ndeg) 旋转
    transform: rotate(60deg);/* 沿着顺时针方向旋转 */
    transform: rotate(-60deg);/* 沿着逆时针方向旋转 */
  • transform: scale(x,y) 缩放
    x和y的取值0~1之间表示缩小,1表示正常大小,1以上表示放大,负值表示先翻转后缩放
    transform: scale(0.5,1);/* 沿着水平方向缩小 */
    transform: scale(1.5,1);/* 沿着水平方向放大 */
    transform: scaleX(1.5);/* 沿着水平方向缩放 */

    transform: scale(1,0.5);/* 沿着垂直方向缩小 */
    transform: scale(1,1.5);/* 沿着垂直方向放大 */
    transform: scaleY(1.5);/* 沿着垂直方向缩放 */

    transform: scale(1.5,0.5);/* 水平方向放大,垂直方向缩小 */

    transform: scale(2);/* 等比例缩放 */

    transform: scale(-2);/* 先翻转后缩放 */
  • transform: skew(x,y) 倾斜
    transform: skew(30deg,0deg);/* 沿着水平方向倾斜 */
    transform: skew(-30deg,0deg);
    transform: skewX(-30deg);

    transform: skew(0deg,30deg);/* 沿着垂直方向倾斜 */
    transform: skew(0,-30deg);
    transform: skewY(-30deg);

    transform: skew(30deg,30deg);/* 沿着水平方向和垂直方向倾斜 */

    transform: skew(30deg);/* 沿着水平方向倾斜 */
transform: scale(2)  rotate(45deg);
  • transform-origin属性 调整基点位置
transform-origin: right top;

(2)3D变形

  • 3D必备属性——必须放在父元素上
 transform-style: preserve-3d;/* 创建3D空间 */
 perspective: 600px;/* 景深 透视点到元素的距离,也可以让网页产生3D效果 */
  • 3D空间的3根轴线
 x轴:水平,向右为正,向左为负
 y轴:垂直,向下为正,向上为负
 z轴:垂直于屏幕,向外为正,向内为负
  • 位移
  transform:translateZ(z); 沿着z轴位移
  transform: translate3d(x,y,z);
  • 旋转
  transform: rotateX(ndeg);沿着水平方向旋转
  transform: rotateY(ndeg);沿着垂直方向旋转
  transform: rotateZ(ndeg);沿着z轴方向旋转
  transform: rotate3d(x,y,z,ndeg);
  • 缩放
  transform: scaleZ(z);沿着z轴缩放
  transform: scale3d(x,y,z);

6.5.11、calc()函数

css3新增功能,用于动态计算长度值
特点:

流体布局:屏幕分辨率变化,页面中元素的大小也会变化,但是布局不变
  • 语法
calc(表达式)
    可用来实现加、减、乘、除四则运算
    width: calc(100px + 100px);
    width: calc(100px+ 100px);  语法错误
    width: calc(100px +100px); 语法错误
    width: calc(100px+100px); 语法错误

运算符的前后需要添加空格

width: calc(2 * (100px + 100px));

运算规则:有括号先算括号里面的,先乘除后加减

  • 兼容
    在IE9、firefox、chrome、Safari可以正常呈现

  • 利用calc函数实现自适应三列布局


推荐阅读
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • css,背景,位置,y,background, ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
author-avatar
mobiledu2502892513
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有