CSS3知识笔记

CSS3知识

  • 选择器
    • a[class^="abc"]{xxx;}:以“abc”开头的任何字符串类名;
    • a[class$="abc"]{xxx;}:以“abc”结尾的任何字符串类名;
    • a[class*="abc"]{xxx;}:以包含"abc"的任何字符串类名;
    • [attribute]{xxxx}:代表包含attribute属性的元素设置样式;
    • [attribute=value]{xxx}:代表属性名为attribute,属性值为value的元素设置此样式;
  • 相邻兄弟选择器
    • 符号为“+”;
    • 适用场景:需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。
    • 代码:input[type="text"]+span{xxx:xxx}
  • 自定义字体引入font-face
     @font-face {
         font-family: 'YourWebFontName';
         src: url('YourWebFontName.eot'); /* IE9 Compat Modes */
         src: url('YourWebFontName.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
                  url('YourWebFontName.woff') format('woff'), /* Modern Browsers */
                  url('YourWebFontName.ttf')  format('truetype'), /* Safari, Android, iOS */
                  url('YourWebFontName.svg#YourWebFontName') format('svg'); /* Legacy iOS */
       }
    
  • CSS3变形transform
    • transform:rotate():旋转;
    • transform:scale():缩放;
    • transform: skew():扭曲;
    • transform: translate():位移;
    • transform-origin:原点设置;
    • 注意:变形均对块状元素和内联块状元素有效,内联元素无效;
  • CSS3动画之过渡transition
    • transition-property: 过渡属性;
    • transition-duration: 过渡总时间;
    • transition-timing-function:过渡函数;
    • transition-delay:过渡延迟时间;
    • 过渡的设置步骤:
      1)设置过渡属性的初始值;
      2)设置改变属性值的事件;
      3)事件触发后设置的改变后新的值;
    • 注意:哪个元素设置过渡功效,就将transition添加到此元素中,与初始值设置在一起;
  • CSS3动画之运动animation
    • keyframes:关键帧,用于设置运动动画名称;
     @keyframes  around{
      0%{
         transform: translateX(0);
       }
      25%{
         transform: translate(180px,0);
       }
      50%{
         transform: translate(180px,180px);
       }
      75%{
         transform: translate(0,180px);
       }
      100%{
         transform: translateY(0);
       }
     }
    
    • animation-name:关键帧设置的运动名称;
    • animation-duration:运动总时间;
    • animation-timing-function:运动函数;在关键帧中设置的每个阶段的运动形式;
    • animation-delay:运动延迟时间;
    • animation-iteration-count: infinite|<number>:infinite(无限次);
    • animation-direction: normal/alternate(轮流);其中:alternate指的是,奇数次从0%-100%运动,偶数次从100%-0%运动;
    • animation-play-state: running(播放)/paused(暂停);暂停的时候停在原地,在播放时从停下的位置继续运动;
    • animation-fill-mode:none/forwards/backwards/both;
      • 作用:定义动画开始之前和动画结束之后的操作;
      • none:默认值;指的是:
        1)动画在开始时,从初始位置迅速到达第一帧的位置,即0%设置的位置;然后开始;需注意的是,在延迟时间之后发生,即延迟时间过后,迅速到达第一帧的位置,然后开始运动;
        2)动画结束后,迅速从最后一帧位置(即100%设置出),回到初始位置;
      • forwards:指动画开始时,从初始位置迅速到达第一帧的位置,然后开始经过延迟时间,然后开始运动;区别在于,在延迟时间之前就到达第一帧的位置;动画结束后同none;
      • backwards:指动画结束后,停留在最后一帧的位置;不会到原始位置;动画开始前同none;
      • both:指同时具有forwards和backwards两个效果;
  • CSS3多列布局-Columns
    • columns:<column-width>||<column-count>;简写:column:200px 5
      • column-width:主要用来定义多列中每列的宽度;
      • column-count:主要用来定义多列中的列数;
    • column-gap:normal/length:用来设置列与列之间的间距;
    • column-rule:<column-rule-width>|<column-rule-style>|<column-rule-color>:用来定义列与列之间的边框宽度、边框样式和边框颜色;类似于border;
    • column-span:none|all:用来定义一个分列元素中的子元素能跨列多少;
  • CSS3盒子模型
    • box-sizing:content-box|border-box|inherit
      • content-box:默认值;即设置的width/height设置的是内部内容宽高;
      • border-box:设置的width/height为盒子的总宽高,即内容的宽高+padding+border;即元素的可视尺寸;
      • inherit:使元素继承父元素的盒模型;
  • CSS3伸缩布局Flexbox布局
    • 定义:具有很大的功能,减少使用浮动或固定宽度+百分比来进行布局;
    • 创建一个flex容器,为此元素设置display属性值为flex;需注意的是在Safari浏览器中,需要添加前缀-webkit;
    • flex-direction:row/column/column-reverse/row-reverse;默认值row,用来定义沿主轴和侧轴方向排列;
    • justify-content:用来表示可伸缩项目在主轴方向上的对齐方式;取值:flex-start/flex-end/space-between,space-around;
    • align-items:用来表示可伸缩项目在侧轴方向上的对齐方式;取值:flex-start/flex-end/center/baseline/stretch;
  • 媒体查询 Media Queries
    • 使用方法:@media 媒体类型 and (媒体特性){ 选择器:{xxx:xxx} }
    • 注:如果没有明确指定媒体类型,那么默认为all;
    • 媒体特性取值:
      • max-width:指媒体类型小于或等于指定的宽度时,样式生效;
        • 代码:
         @media screen and (max-width) {
               .ads{
                 display: none;
          } 
        
      • min-width:指媒体类型大于或等于指定的宽度时,样式生效;
      • 多个特性同时使用,通过and将多个媒体特性连接起来;
        • 屏幕在600px-900px之间,使body背景色为红色;
         @media screen (min-width: 600px) and (max-width: 900px) {
              body{ 
                background-color: red;
              }    
           }
        
      • 设备屏幕的输出宽度Device Width
        • 定义:在智能设备上,例如iPhone,iPad等,可以根据屏幕设备的尺寸来设置相应的样式,同样对于屏幕设备同样可以使用"max/min"对应参数,如min-device-widthmax-device-width
        • 代码:指的是"iphone.css"样式适用于最大设备宽度为480px,比如说在iphone设备上显示,"max-device-width"指的是设备的实际分辨率,也就是指可视面积分辨率;
         <link rel="stylesheet" media="screen and (max-device-width:480px)" href="iphone.css" />
        
      • not关键词
        • 定义:用来排除某种指定的媒体类型;
        • 代码:表示除了打印设备和设备宽度小于等于1200px下的所有设置中生效;
         @media not print and (max-width: 1200px) {
            body{
                background-color: red;
             }
          }
        
      • only关键词:
        • 定义:用来排除不支持媒体查询的浏览器;很多时候用来对不支持Media Query但支持Media Type的设备隐藏样式表的;
        • 解读:1)支持媒体特性的设备,正常调用样式,此时就当only不存在;2)不支持媒体特性但又支持媒体类型的设备,不会读取样式;3)不支持Media Queries的浏览器,不论是否支持only,样式不会被采用;
         <link rel="stylesheet" media="only screen and (max-device-width:240px)" href="adn.css" />
        
      • 使用多条语句来将同一样式应用到不同的媒体类型和媒体特性中;
        • 代码:代表style.css样式应用到宽度小于或等于500px的手持设备上,或被用于屏幕宽度大于等于900px的设备上;
         <link rel="stylesheet" type="text/css" href="style.css" media="handheld and (max-width: 500px), screen and (min-width: 900px)" />
        
    • 兼容性:除了IE6-8浏览器不支持,其余浏览器都支持,无需添加前缀;
  • CSS3外轮廓属性
    • 特点:
      • 在页面中呈现的效果和边框border呈现的效果极其相似;
      • 与边框完全不同,外轮廓线不占据网页布局空间;
      • 外轮廓的内边缘紧贴边框的外边缘;
      • 只有元素获取到焦点或者被激活时呈现;
    • 语法:outline: [outline-color] || [outline-style] || [outline-width] || [outline-offset] || inherit
    • 解读:
      • outline-color,outline-style,outline-width三个属性与border属性相同;
      • outline-offset:定义轮廓边框的偏移位置的数值;
        • 正值:表示轮廓边框向外偏离的像素值;
        • 负值:表示轮廓边框向内偏离的像素值;
        • 0:不偏移,指轮廓内边缘与边框外边缘重合;
  • CSS生成内容content属性
    • 伪类::afterbefore;伪元素:::before::after
    • content配合伪类生成内容,但这个属性对于img和input元素不起作用;
    • 语法:content: none || attr || url || string
      • attr("属性名"):插入标签身上属性名的属性值;
      • url():使用指定的绝对或相对地址插入一个外部资源;
      • string:字符串,可以是空字符串,常用于清除浮动;
    • 实例:通过伪类在a便签后,插入一段内容,内容值为a便签身上的title的属性值;
      • 代码:
       <!DOCTYPE html>
       <html lang="en">
       <head>
           <meta charset="UTF-8">
           <title>content</title>
           <style>
               a{
                   font-size: 24px;
                   color: red;
                   text-decoration: none;
               }
               a:after{
                   content: attr(title);
                   padding-left: 100px;
               }
           </style>
       </head>
       <body>
       <a href="#" title="这是插入的内容值">链接</a>
       </body>
       </html>
      
  • css3学习链接: css3入门教程
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容

  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,564评论 1 13
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,306评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,737评论 0 2
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,743评论 1 92
  • 厉国刚:广告学长微信群以及两个征集 时间过得真快,广告学长公众号已经正式运营4个月了。虽然更新频率不是很高,但是粉...
    微观大道阅读 238评论 0 1