任务九~CSS常见技巧

一、CSS Sprite(雪碧图|精灵图)指什么? 有什么作用?

  • CSS Sprite把多个背景图片合成为一张,通过background-positiong定位图片的技术

  • CSS Sprite原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量

  • CSS Sprite作用

  • 减少加载网页图片时对服务器的请求次数

  • 提高页面的加载速度

  • 减少鼠标滑过的一些bug

  • 整理自百度百科


二、img标签和CSS背景使用图片在使用场景上有何区别?

  • img标签的使用场景是如果一张图片属于网页内容的一部分,那么则该用img标签,以及img标签也多用于网页中经常更换的图片部分,比如,购物网站的轮播广告等
  • css背景则多用于图片不经常变动的场景
  • eg如下


    图片使用场景

三、title 和 alt属性分别有什么作用?

  • title作为属性,用来为元素提供额外说明信息。例如,给a标签添加了title属性,把鼠标移动到该链接上面是,就会显示title的内容,以达到补充说明或者提示的效果
  • alt属性用来指定替换文字,只能用在img、area和input元素中,用于网页中图片无法正常显示时给用户提供文字说明使其了解图像信息

四、background: url(abc.png) 0 0 no-repeat;这句话是什么意思?

  • background属性总结(整理自CSS权威指南和图解CSS
  • background-image:url || none,用来设置元素的背景图片,<url>是指背景图片的地址,这个地址可以使绝对地址,也可以是相对地址
  • background-position:percentage || length || 关键词,用来设置元素背景图片的位置
    • 当值为关键字时,一是关键字不能超过两个,一个对应水平方向,另一个对应垂直方向;而是当值设置一个值时,则认为另一个关键字是center
  • 当值为百分数时,第一百分数对齐方式是原图像的百分数所在的位置同元素中描述为该百分数所在元素中的位置相对齐,比如,当用百分数把图像居中时,原图像中描述为50% 50%的点同元素中描述为50% 50%的点对齐;第二,用百分数设置位置,水平值总是先出现;第三,如果只提供一个百分数值,则这个提供的值用作水平值,垂直值假设为50%
  • 当值为长度值时,这些长度值解释为从元素内边距区左上角的偏移,偏移点在原图像的左上角,比如,如果设置值为10px 15px,则原图像的左上角将在元素内边距区左上角向右10px,向下15px
  • 百分数和长度值都可以使用负值,这样可以将原图像拉出元素的背景区
  • background-repeat:repeat || repeat-x || repeat-y || no-repeat,用来设置元素背景图片在元素的盒模型中的铺放方式
  • background-color:transpatrent || color,用来设置元素的背景颜色
  • background-attachment:scroll || fixed,用来设置元素背景图片是否固定或随着页面的其余部分滚动,值为scroll则图片会随着浏览器滚动条滚动,值为fixed则图片固定不动
  • background-origin:padding-box || border-box || content-box,用来决定background-position属性的参考原点
    • padding-box,默认值,决定background-position起始位置从padding外边缘(即border内边缘)开始显示背景图片
    • border-box,决定background-position起始位置从border外边缘开始显示背景图片
    • content-box,决定background-position起始位置从content外边缘(即padding内边缘)开始显示背景图片
  • background-clip:border-box || padding-box || content-box,用来定义背景图像的裁剪区域
    • border-box,默认值,决定元素背景图像从border区域向外裁剪
    • padding-box,决定元素背景图像从paddingr区域向外裁剪
    • content-box,决定元素背景图像从content区域向外裁剪
  • background-size:auto || length || percentage || cover || contain,用来指定背景图片的尺寸
  • auto,默认值,将保持背景图片的原始高度和宽度
  • length,取具体的数值作为背景图片的大小
  • percentage,值为0~100%,其值是相对于元素的宽度进行计算
  • cover,将背景图片放大,以适合铺满整个容器
  • contain,保持背景图片本身的宽高比例,将背景图片缩放宽度或高度正好适应所定义的容器区域
  • background: url(abc.png) 0 0 no-repeat;表示某个元素设置了一个abc.png的没有偏移的不重复的背景

五、background-size有什么作用? 兼容性如何? 常用的值是?

  • background-size的作用是用来指定背景图片的尺寸
  • background-size兼容性通过Can I use···查询如下图
    background-size兼容性
  • background-size常用的值如下
    • auto,默认值,将保持背景图片的原始高度和宽度
    • length,取具体的数值作为背景图片的大小
    • percentage,值为0~100%,其值是相对于元素的宽度进行计算(取值为length或percentage,只设置一个值时,这个值指定了背景图片的宽度,第二个值相当于auto)
    • cover,将背景图片放大,以适合铺满整个容器
    • contain,保持背景图片本身的宽高比例,将背景图片缩放宽度或高度正好适应所定义的容器区域
  • 比如如下代码
<!doctype html>
<html>
   <head>
       <meta charset="utf-8"/>
       <title>background-size测试</title>
       <style>
           .test{
               width: 600px;
               height: 600px;
               border: 1px solid red;
               background: url(img/lufei.jpg) center no-repeat;
               background-size: auto;/*测试*/
           }
       </style>
   </head>
   <body>
       <div class="test"></div>
   </body>
</html>
  • 值为auto时效果图如下


    background-size值为auto效果图
  • 值为length(500px 300px)时效果图如下


    background-size值为length效果图
  • 值为百分数(80% 80%)时,此时图片高宽是相对于元素的高宽的百分数,即60080%=480px,60080%=480px
    background-size值为percentate效果图
  • 值为cover时效果图如下


    background-size值为cover效果图
  • 值为contain时效果图如下


    background-size值为contain效果图

六、如何让一个div水平居中?如何让图片水平居中?

  • 通过div{margin:0 auto;}可以使div水平居中
<!doctype html>
<html>
   <head>
       <meta charset="utf-8"/>
       <title>水平居中</title>
       <style>
           .test{
               width: 200px;
               height: 200px;
               background-color: red;
               margin: 0 auto;
           }
       </style>
   </head>
   <body>
       <div class="test"></div>
   </body>
</html>

效果图如下


div水平居中
  • 通过在图片的父元素中设置E{text-align:center;}可以使图片水平居中
<!doctype html>
<html>
   <head>
       <meta charset="utf-8"/>
       <title>图片水平居中</title>
       <style>
           .test{
               width: 600px;
               height: 600px;
               text-align: center;
               border: 1px solid red;
               margin: 0 auto;
           }
       </style>
   </head>
   <body>
       <div class="test">
           <img src="img/lufei.jpg" alt="路飞">
       </div>
   </body>
</html>

效果图如下


图片居中水平图

七、如何设置元素透明? 兼容性?

  • 通过opacity属性可以设置元素透明度
  • 语法为opacity:alphavalue || inherit,alphavalue取值为0~1任意浮点数,其中1表示完全不透明,0表示完全透明,比如
<!doctype html>
<html>
<head>
   <meta charset="utf-8"/>
   <title>opacity属性</title>
   <style>
       .test{
           width: 200px;
           height: 200px;
           background-color: red;
           opacity: 0.4;
           margin: 0 auto;
       }
   </style>
</head>
<body>
   <div class="test"></div>
</body>
</html>

效果图如下


opacity效果图
opacity兼容性

八、opacity和rgba都能设置透明,有什么区别?

  • opacity是对整个元素设置不透明属性,而RGBA只对元素的背景色设置不透明
  • opacity会继承父元素的 opacity 属性,而RGBA设置的元素的后代元素不会继承不透明属性
<!doctype html>
<html>
 <head>
     <meta charset="utf-8"/>
     <title>水平居中</title>
     <style>
         .opacity{
             width: 200px;
             height: 200px;
             background-color: red;
             border: 5px solid black;
             opacity: 0.4;
             margin: 0 auto;
             margin-bottom: 50px;
             text-align: center;
         }
         .rgba{
             width: 200px;
             height: 200px;
             background:rgba(255, 0, 0, 0.4);;
             border: 5px solid black;
             margin: 0 auto;
             text-align: center;
         }
     </style>
 </head>
 <body>
     <div class="opacity">opacity</div>
     <div class="rgba">rgba</div>
 </body>
</html>

效果图

opacity和rgba的效果图

整理自myvin's Blogs

版权声明:本教程版权归邓攀和饥人谷所有,转载须说明来源!!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,780评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,424评论 1 305
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,397评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,576评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,997评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,945评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,107评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,850评论 0 208
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,625评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,804评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,285评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,613评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,291评论 3 242
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,164评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,963评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,096评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,886评论 2 278

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,635评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,691评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,279评论 0 11
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,465评论 32 459
  • 我小的时候,电子娱乐还没现在发达。 电子游戏厅里都是拳皇街头霸王类的单机游戏,主要是男孩拼杀的主战场。 女孩很少进...
    我说了我的名字叫依莱文阅读 294评论 0 2