CSS常用技巧

  • CSS Sprite(雪碧图|精灵图)指什么? 有什么作用
    • CSS Sprite指的是包含许多不同的图标、按钮或图形的单个图像。
    • 使用CSS Sprite可以减少Web浏览器发出的服务器请求,显著加快下载速度。
    • 使用CSS Sprite把所有按钮、图标和各种图形集中在一个地方可以提高可维护性。
    • 从技术角度上简单的说就是一个图片的显示就需要向服务器发送一次请求,每发送一次请求就会和服务器链接一次,建立链接花费了额外的时间,当使用了CSS Sprite技术时,在总图片不变的情况下减少请求数达到优化。
  • 应用场景
    1 静态图片,不随用户信息的变化而变化。
    2 小图片,图片大小比较小。
    3 加载量比较大。
  • 一些大图片不建议使用CSS Sprite
  • img标签和CSS背景使用图片在使用场景上有何区别
    • img标签是html标签表示从网页上链接图像,img标签是html结构的一部分,img 会在加载结构时进行加载。
    • img标签的alt属性可以被搜索引擎关注,可读性比background-img高。
    • background-img是CSS的一个样式,样式只有在结构和内容加载完成后才开始加载。
    • 有的网站会禁用css样式,那么比较重要的图片使用img标签就会更保险,如logo。
    • 应用的准则:
      1 如果一张图片是网页内容的一部分,就该用 img标签,否则就建议用 CSS 背景图。(比如网站的logo使用img标签)
      2 background-img常用在页面上的icon,或者当需要图像代替文本时。
  • title 和 alt属性分别有什么作用
    • alt:指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本。

    • title:是个全局属性,提供元素的描述(比如鼠标滑过图片时显示的文本)。

    • alt属性在web上非常必要的,因为无法确定用户在使用什么浏览器和设备或者在网速极慢的环境下来查看页面。在这些不确定性下使用alt属性,可以使浏览器为用户提供一些指示,告诉他们图像里有什么信息。

      一个logo图片没有显示

  • background: url(abc.png) 0 0 no-repeat;这句话是什么意思
  • 使用abc.png做为背景图,位于元素的x,y轴坐标0 0的位置即左上角,并且不进行x,y轴上下平铺。
  • background-size有什么作用? 兼容性如何? 常用的值是?
  • background-size可以设置和缩放背景图像的尺寸。


    background-size兼容性
常用值 效果说明
length 设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。
percentage 以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。
cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。
contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。
auto 以背景图片的比例缩放背景图片

/* 关键字 */
background-size: cover//块元素完全被背景图覆盖,超出的多余部分不显示
background-size: contain//背景图完全显示在块元素内


cover效果

contain效果

/* 一个值: 这个值指定图片的宽度,图片的高度隐式的为auto */
background-size: 50%
background-size: 3em
background-size: 12px
background-size: auto

/* 两个值: 第一个值指定图片的宽度,第二个值指定图片的高度 */
background-size: 50% auto
background-size: 3em 25%
background-size: auto 6px
background-size: auto auto

/* 逗号分隔的多个值:设置多重背景 /
background-size: auto, auto /
不同于background-size: auto auto */
background-size: 50%, 25%, 25%
background-size: 6px, auto, contain

多重背景

多重背景

background-size: inherit

inherit属性继承父元素的bg-size

在多重背景的设置上,background-size:length, length;与background-size: inherit;不可混用。

  • 当背景图设置的顺序不同时背景图会出现覆盖的情况


    背景图覆盖

    背景图覆盖1
  • 利用背景图覆盖做一个图标(你可以继续用这种方式给背景上增加如气泡、标语等元素)


    利用多重样式做一个图标
  • 把要做你想做背景的图放在最后一个,其他小元素放在背景之前


    给背景增加其他元素

简写形式

background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position] / [ background-size] [background-origin] [background-clip];
  • 如何让一个div水平居中?如何让图片水平居中
  • 单个块元素水平居中
margin:0 auto;
  • 利用定位属性与外边距使块元素垂直水平居中
.warp {
  width:500px;
  height:500px;
  border:1px solid;
  position:relative;
}
.div1 {
  width:200px;
  height:200px;
  background-color:black;
  position:absolute;
  left:50%;
  top:50%;
  margin: -100px -100px;
}
使用定位
  • 利用inline-block使块元素水平垂直居中
.warp {
  width:500px;
  height:500px;
  border:1px solid;
  display:table-cell;
  text-align:center;
  vertical-align: middle;
}
.div1 {
  width:200px;
  height:200px;
  background-color:black;
  display: inline-block;
}
使用inline-block
  • 多个块元素水平居中


    Paste_Image.png
  • 多个块元素在一排水平居中


    Paste_Image.png
  • 图片水平居中
text-align: center;
图片水平居中
  • 图片垂直居中
添加display: table-cell; vertical-align: middle;
图片垂直居中
  • 如何设置元素透明? 兼容性?

  • RGBA:rgba(red, green, blue, alpha)。alpha 参数是介于 0.0(完全透明)与 1.0(完全不透明)的数字。


    RGBA兼容性
  • opacity:opacity属性指定了一个元素的透明度。

  • IE8 以及更早的版本使用滤镜 filter:alpha(opacity=x)。x 能够取的值从 0 到 100。值越小,越透明

opacity:0.4;
filter:alpha(opacity=40);/* 兼容IE8 */
opacity兼容性
  • opacity 和 rgba都能设置透明,有什么区别
  • opacity会继承父元素的 opacity 属性,而RGBA设置的元素的后代元素不会继承。


    继承性的区别

本博客版权归 本人和饥人谷所有,转载需说明来源

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

推荐阅读更多精彩内容

  • CSS Sprite(雪碧图|精灵图)指什么? 有什么作用CSS Sprite值的是把多个icon图片放在一张图里...
    老虎爱吃母鸡阅读 200评论 0 0
  • 一、背景图片和背景图的区别 背景色做代码一般用英文单词就可以,但是做网站建议用十六进制background-col...
    崔敏嫣阅读 182评论 0 0
  • CSS Sprite(雪碧图|精灵图) 雪碧图指的是将一些较小的图标或其他小图片集合到一起成为一张大图,只需一次网...
    柯良勇阅读 203评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,760评论 1 92
  • 对于摔手机,我不敢任第一,因为我一室友是鼻祖级别的。因此,另一舍友说,我俩只适合用老人机,这里一万点的伤害。。。 ...
    一片雪的重量阅读 196评论 0 0