css3小知识

CSS3模块

  • 选择器
  • 盒模型
  • 背景和边框
  • 文字特效
  • 2D和3D转换
  • 动画
  • 多列布局
  • 用户界面

1、边框

  • border-radius 【边框圆角】
    • 单位:px/%
    • 注意: 最大为盒子宽或高的50%,
      可以分别设置上右下左的边框【特殊例:盒子的宽是高的2倍,给盒子上左、上右设置50%的圆角,出现的是一个半圆】
  • box-shadow 【盒子阴影】
    • 标准样式
      • box.shadow:offset-x offset-y [blur [spread]] [color] [inset]
        • offset-x 阴影水平偏移量。正为右,负为左
        • offset-y 阴影垂直偏移量。正为下,负为上
        • blur 阴影模糊程度,不可为负
        • spread 阴影大小。正为阴影扩大[阴影大小大于盒子大小],负为阴影缩小[阴影大小小于盒子大小],0为阴影与盒子一样大小
        • inset 表示添加内阴影,默认为外阴影
    • box.shadow:10px 10px 5px #888888;
      • 参数1:左右外阴影【正为右,负为左】;
      • 参数2:上下外阴影【正为下,负为上】;
      • 参数3:阴影扩散范围【不可为负】;
      • 参数4:阴影颜色
    • 注意:
      • 可设置多个阴影,中间用逗号隔开
  • border-image 【图片边框】

2、背景

  • CSS3背景属性
    • background-image 背景图片
    • background-size 背景尺寸
    • backgreoud-origin 背景图片的位置区域
      • border-box 边框
      • padding-box 内边框
      • content-box 内容
    • background-clip 背景裁剪

background-image 背景图片 地址

  background-image:url(""); 背景图片地址
  background-position:right bottom,left top;  背景图片定位
  background-repeat:no-repeat,repeat; 背景图片是否重复铺满
  - 可设置多张背景图片,中间用逗号隔开,顶部显示第一张

  background:url(") right bottom no-repeat,url("") left top repeat;

background-size 背景图片 尺寸

  background-size:width[x] height[y]; 设置背景图片的尺寸
  - 单位:px  %

background-origin 背景图片 位置区域

  • border-box 图片边界会出现在容器边框位置,占据容器外边框的位置
  • padding-box 图片边界会出现在容器内部,会占据容器的内边距的位置,从容器开始,不会占据容器边框位置
  • content-box 图片出现在容器中的内容区域,不会占据元素的内边距

background-clip 背景图片 裁剪属性

  • 没有经过背景裁剪裁剪【以颜色为例】
    • 背景颜色覆盖范围为整个容器
  • padding-box
    • 背景从内边距区域开始向内覆盖容器
  • content-box
    • 背景颜色只覆盖容器中的内容区域

3、渐变

  • CSS3定义了两种渐变方式
    • 线性渐变(Linear Gradients) 向上、向下、向左、向右、对角方向
    • 径向渐变(Radial Gradients) 由它们的中心定义 就是说从中心开始呈圆形向外扩散

线性渐变

  • 线性渐变(默认:从上到下)
  background-image:linear-gradient(direction,colot-stop1,color-stop2,...);
  参数1:
      方向
        to left   向左;
        to right  向右;
        to bottom 向下;
        to top    向上;
        to bottom right 向右下角;
        to bottom left  向左下角;
        to top left     向左上角;
        to top right    向右上角
  参数2:
      第一个颜色
  参数3:
      第二个颜色

  之后的参数都是颜色(颜色可使用透明度)

  - 注意:
      颜色后面可跟百分比,表示该颜色占总面积的多少
  • 使用角度
    • 角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。

径向渐变

  • 径向渐变也就是从图形的中心开始向外扩散的一种渐变方式
    • 默认情况下,每个颜色节点颜色分布均匀
  • 也可在颜色后添加使用百分比,改变其颜色分布
  • 设执形状
    • 可在参数1上添加一个参数,shape改变径向渐变的形状(circle:圆形;ellipse:椭圆形;默认为:ellipse 椭圆形)
  • 不同尺寸的关键字使用
    • closest-side 最近角(从圆心开始,半径所到达的最近的角)
    • farthest-side 最远的角(从圆心开始,半径所达到的最远的角)
    • colsest-corner 最近的边(从圆心开始,半径所达到最近的边)
    • farthest-corner 最远的边(从圆心开始,半径所达到的最远的边)
  • 重复的径向渐变
    • background-image:repeating-radial-gradient(color1,color2,color3);
      • 不到百分百的话,重复循环该径向渐变

3、CSS3文本效果

  • text-shadow 文本阴影
    • text-shadow:5px 5px 5px blue;
      • 参数1:水平阴影
      • 参数2:垂直阴影
      • 参数3:模糊距离
      • 参数4:阴影的颜色
  • box-shadow 盒子阴影
    • 参数1:水平阴影
    • 参数2:垂直阴影
    • 参数3:模糊距离
    • 参数4:阴影的颜色
    • 注意:
      • 可以使用 :: before和 :: after两个伪元素中添加阴影效果
  • text-overflow 如何显示溢出内容
    • ellipsis 多余部分会以省略号形式出现
    • clip 多余部分直接"消失"截断
    • string 使用给定的字符串代替多余的文字部分(只对火狐有效)
  • word-wrap 换行
    • break-word 强制文本换行 将会分裂中间的一个字
  • word-break 单词拆分换行
    • break-all keep-all

4、CSS3 2D 转换

  • translate()
    • 根据左(x)轴和顶部(y)轴位置给定的参数,从当前元素位置进行移动
    • translate(50px,100px)
      • 向左移动50px,在向下移动100px
  • rotate()
    • 单位:deg
    • 给定一定的角度,正值顺时针进行旋转,负值逆时针进行循环
    • rotate(30deg)
      • 元素顺时针旋转30度
  • scale()
    • 元素的放大以及缩小,取决于宽度(x轴)和高度(y轴)的参数
    • scale(2,3)
      • 将元素宽度放大2倍,高度放大3倍
    • 若只书写一个参数,宽高都根据这个参数进行放大缩小
  • skew()
    • 两个参数,分别代表X轴和Y轴倾斜的角度,若第二个参数为0,则默认为0,参数为负则向反方向移动
    • skewX(<angle>):表示只在X轴(水平方向)倾斜
    • skewY(<angle>):表示只在Y轴(垂直方向)倾斜
    • skew(30deg,20deg)
      • 元素在X轴倾斜30deg,y轴倾斜20deg
  • matrix()
    • 六个参数,包括旋转、缩放、移动(平移)和倾斜功能

5、CSS3 3D 转换

  • rotateX()
    • 围绕其在一个给定度数X轴旋转的元素
      • 上下翻转
  • rotateY()
    • 围绕其在一个给定度数Y轴旋转的元素
      • 左右进行翻转
  • transform-origin:x-axis y-axis z-axis;
    • x-axis
      • 定义视图被置于X轴的何处
      • 值:
        • left
        • center
        • right
        • length
        • %
    • y-axis
      • 定义视图被置于y轴的何处
      • 值:
        • top
        • center
        • bottom
        • length
        • %
    • z-axis
      • 定义视图被置于Z轴的何处
      • 值:
        • length
  • transform-style
    • 指定嵌套属性是怎样在三维空间中呈现的
    • flat
      • 所有子元素在2D平面呈现
    • preserve-3D
      • 所有的子元素在3D空间呈现

6、CSS3 过渡

  • transition属性设置元素当前的过渡效果
  - transition-property
    - 指定CSS属性的name,transition效果
  - transition-duration
    - transition效果需要制定多少时间(单位:s/ms)
  - transition-timing-function
    - 指定transition效果的转速曲线
      - 值:
        linear  匀速
        ease    慢-快-慢
        ease-in 慢-快
        ease-out  以慢结束
        ease-in-out 以慢速开始和结束
        cubic-bezier(n,n,n,n) 自定义(0-1)
  - transition-delay
    - 定义transition开始的时候
      time  指定需要等待多少时间等待效果开始

7、CSS3 动画

  • CSS3 动画属性
1、 @keyframes  规定(设置)动画
  - 语法:@keyframes animationname {keyframes-selector {css-styles;}}
    - animationname 
      - 定义animationname动画名称,必须要有
    - keyframes-selector
      - 动画持续时间百分比
        合法值:
          0-100%
          from(和0%相同)
          to(和100%相同)
        注意:可以用一个动画 keyframes-selectors
    - css-style 一个或多个合法的CSS样式属性
2、 animation 所有动画属性的简写属性
  - animation: name duration timing-function delay iteration-count direction fill-mode play-state;
    - animation-name
      - 指定要绑定到选择器关键帧名称
    - animation-duration
      - 动画指定需要多少秒或毫秒完成(动画时间)
    - animation-timing-function
      - 设置动画将如何完成一个周期(设置动画的速度曲线)
      - 默认是"ease"
        linear  匀速
        ease    慢-快-慢
        ease-in 慢-快
        ease-out  以慢结束
        ease-in-out 以慢速开始和结束
        cubic-bezier(n,n,n,n) 自定义(0-1)
    - animation-delay
      - 设置动画在启动前的延迟间隔
      - 默认是"0"
    - animation-iteration-count
      - 定义动画的播放次数
      - 默认是"1"
    - animation-direction
      - 规定动画是否在下一周你想播放地播放
      - 语法:
          animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit;
      - 默认是"normal"
        - normal(默认值)
        - reverse(动画反向播放)
        - alternate(动画在奇次数正向播放,在偶次数反向播放)
        - alternate-reverse(动画在奇次数反向播放,在偶次数正向播放)
        - initial(设置该属性为它的默认值)
        - inherit(从父元素继承该属性)
    - animation-fill-mode
      - 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式
    - animation-play-state
      - 指定动画是否正在运行或已暂停
      - 语法:
          animation-play-state: paused|running;
      - 默认是"running"
        - paused(指定暂停动画)
        - running(指定正在运行的动画)
    - intial
      - 设置属性为其默认值
    - inherit
      - 从父元素继承属性

8、CSS3 多列

  • CSS3 多列属性
- column-count  指定需要分割的列数
  - column-count:3;  将文本内容分为3列
- column-gap  制定了列与列的间隙
  - column-gap:30px;  列与列之间的间隙为30像素
- column-fill 指定如何填充列
  - 语法:
      column-fill: balance|auto;
    - balance(列长短平衡。浏览器应尽量减少改变列的长度)
    - auto(列顺序填充,他们将有不同的长度)
- column-rule 是 column-rule-* 所有属性的简写
  - 包括边框的厚度、样式、颜色
- column-rule-style 指定了列与列间的边框样式
  - column-rule-style:solid;  列与列间的边框为黑色单实线
      dotted - 定义点线边框
      dashed - 定义虚线边框
      solid - 定义实线边框
      double - 定义双边框
      groove - 定义 3D 坡口边框。效果取决于       border-color 值
      ridge - 定义 3D 脊线边框。效果取决于      border-color 值
      inset - 定义 3D inset 边框。效果取决于      border-color 值
      outset - 定义 3D outset 边框。效果取决于      border-color 值
      none - 定义无边框
      hidden - 定义隐藏边框
- column-rule-width 指定了两列的边框厚度
  - column-rule-width:1px;  两列边框厚度为1px
- column-rule-color 指定了两列的边框颜色
  - column-rule-color:blue; 两列边框颜色为蓝色
- column-span 指定元素跨越多少列
  - column-span:all;  元素跨越所有列
- column-width  指定列的宽度
  - column-width:100px; 列的宽度为100px
- columns column-width和column-count的简写属性

9、CSS3 用户界面

用户界面属性

- resize
  - 调整尺寸
  - 语法:
    resize: none|both|horizontal|vertical;
    - none  用户无法调整元素的尺寸
    - both  用户可调节元素的高度和宽度
    - horizontal  用户只能调节元素的宽度
    - vertical  用户只能调节元素的高度
- box-sizing
  - 调整方框大小
  - 语法:
    box-sizing: content-box|border-box|inherit;
    - content-box 指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外
    - border-box  指定宽度和高度(最小/最大属性)确定元素边框。
      【也就是说,对元素指定宽度和高度包括了 padding 和 border 。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。】
    - inherit 指定 box-sizing 属性的值,应该从父元素继承
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容