CSS的奇技淫巧-Assignment

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

CSS Sprite是一种网页图片的处理技术,通过将多张图片整合到一张图片中,以减少访问图片的次数和图片文件的大小,最终达到网站性能优化的目的。

CSS Sprite将网页多张小规格图片的整合,形成一张包含多张图片素材的图片,如:


上图分别是四张图片,如果使用如下代码设置导航左侧的icon会产生4张图片,在访问页面时会产生4次request,不利于页面性能优化,浪费带宽和内存。

<li><img src="1.gif" alt="img" />football</li>    
<li><img src="2.gif" alt="img" />basketball</li>  
<li><img src="3.gif" alt="img" />badminton</li>  
<li><img src="4.gif" alt="img" />tennis</li>

若使用Css Sprite技术可以使得4张图片整合为1张图,在利用background-position属性实现一张图在同一区域的重复使用。


上图所示,四张图片通过CSS Sprite技术整合成一张图片,既减小的图片的大小和命名多张图片的麻烦,也减少访问服务器的次数。
代码设计具体见: 利用CSS Sprite技术实现sidebar的icon


2.img标签和CSS背景使用图片在使用场景上有何区别

  • img标签属于html的范畴,本质是语义化的显示图像的标签
    syntax:
    <img src="xxx.gif" alt="替代文本">
    background-image属性是css范畴的内容,本质是为元素设置背景图的属性
    syntax:
    css选择器{background-image:url();}
  • 在页面加载方式上,img标签作为文档内容的一部分,会随页面加载时同时加载进来;
    background-image作为样式,要等页面加载完后背景才开始加载
  • img标签属于页面内容一部分,background-image属于样式以起到修饰页面的作用

综合以上区别,可以得出:image作为语义化标签,图像是有实际的表示意义,常常用于形象化的声明语义;background-image作为Css属性之一,图像只是起到背景装饰作用,不具备实际语义。


3.title和 alt属性分别有什么作用

  • title属性作为一种全局变量,可以作用于所有元素中,常用于显示元素的提示性信息。当鼠标移至元素时,会显示一段事先设定好的提示文本。
  • alt属性作为一种局部变量,作用于input(对于图像按钮)和img元素,常用于显示图片无法显示或禁止显示时的替代文本。



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

background: url(abc.png) 0 0 no-repeat;属于背景样式,具体含义是设置一张图像地址位于abc.png和不产生平铺效果的图片,并且图像位置以元素左上角为基点图像的左上角到基点的距离在横纵坐标上不发生偏移。


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

  • background-size是css3的新背景属性,规定背景图片的尺寸
  • 该属性的兼容性通过查询caniuse网站如下:
  • 常用属性值包括:
描述
length 设置背景的宽高,第一个值为宽度,第二个为高度,若只设置一个值,第二值默认为auto
percentage 以父元素的百分比设置背景的宽高
cover 将图像扩展至完全覆盖背景区域(图像尺寸等比例扩展)
contain 将图像扩展至宽高完全适应背景区域

这里有篇文章Background-size很重要较好的解释好演示了cover和contain的效果区别。


6.如何让一个div水平居中?如何让图片水平居中

  • div的水平居中可以使用margin或是position属性来设置;
  • 图片通过img标签嵌套入div,再使用text-align:center属性来设置
    具体演示如下:

    代码地址

7.如何设置元素透明? 兼容性?

  • opacity: 0.5; 这是最重要的,因为它是CSS标准.该属性支持Firefox, Safari和 Opera;
  • filter:alpha(opacity=50); 这个是为IE6设的,可取值在0-100,其它三个0到1;
  • -moz-opacity:0.5; 这个是为了支持一些老版本的Mozilla浏览器;
  • -khtml-opacity: 0.5; 这个为了支持一些老版本的Safari浏览器;
    源自CSS透明属性详解

8.opacity和 rgba都能设置透明,有什么区别

  • opacity是Css属性的范畴,作用于元素(包括这个元素和元素内部的元素);
  • rgba是属性值的范畴,作用于当前元素(仅仅是当前元素,不影响元素的内部元素)

上图两个div的下方banner分别使用opacity和rgba进行透明处理,代码如下:

.bg-1{
  background:black;
  width:100%;
  height:30%;
  position:absolute;
  bottom:0;
  left:0;
  opacity:0.3;
}
.bg-2{
  background:rgba(0,0,0,0.3);
  width:100%;
  height:30%;
  position:absolute;
  bottom:0;
  left:0;
}

不难发现,opacity设置0.3时作用于整个bg-1,并且内部的span元素的内容也会受影响;而rgba仅仅作用于background,内部的内容未受影响。

那么如果使用opacity同样实现rgba的效果,该怎么办呢?一个常用的方法是将banner和span分离成兄弟元素,banner使用z-index置于span下面


<div class="demo-3">
  <div class="bg-3"> </div>
    <div class="ctn">
    <span>opacity-revise</span>
      </div>
</div>
.demo-3{
  width:150px;
  height:100px;
  background:#ccc;
  margin:10px;
  position:relative;
  font-size:20px;
  color:white;
  text-align:center;
}
.bg-3{
  background:black;
  width:100%;
  height:30%;
  position:absolute;
  bottom:0;
  left:0;
  opacity:0.3;
  z-index:1;
}
.ctn{
  z-index:10;
  width:100%;
  height:30%;
  position:absolute;
  bottom:0;
  left:0;
}

代码题
使用CSS Sprite 把如下6张图标图片合并成一张图片,做出如下效果, 当 hover 时背景变色


使用字体图标(如 iconfont, 查找->加入购物车->下载 demofortawesome 或者fontello)实现上例效果
使用css border实现如下三角形

代码题地址:here i am !


代码:

参考资料

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

推荐阅读更多精彩内容

  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,499评论 32 459
  • 一、CSS Sprite(雪碧图|精灵图)指什么? 有什么作用 1、css sprite是一种图片处理方法,就是将...
    鸿鹄飞天阅读 383评论 0 0
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,298评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,722评论 0 2
  • 618来啦,各种年中大促,就是没有特别想买的东西,也开始买了。各种看着优惠的东西加入购物车。灰色的运动鞋不耐脏,再...
    非宁静无以致远_渊宁阅读 162评论 3 0