#02你认真学了css?(基本样式2)

一、背景

属性 描述
background 简写属性,将背景属性设置在一个生命中
background-attachment 背景图像是否固定或者随着页面的其余部分滚动
background-color 可设置元素的背景颜色
background-image 可把图像设置为背景
background-position 设置背景图像的起始位置(常用于图标在页面上的设置)
background-repeat 设置背景图像是否重复,以及如何重复
background-size 设置背景的大小(兼容性)(css3)

1、background-position :默认图片主要从左上角方向偏移

  • x y
  • x% y%
  • [top | center | bottom] [left | center | right]

2、background-repeat:背景图像是否重复或如何重复

  • no-repeat:背景图片在规定位置
  • repeat-x:图片横向重复
  • repeat-y:图片纵向重复
  • repeat:全部重复

3、background-size:背景图片大小的设置,用来拉伸、缩放

  • 100px 100px
  • contain
  • cover

4、关于background相关元素的属性,

代码:

/*背景色和背景图片使用场景 */
场景1:两元素适用于页面大、背景图片小

场景2:背景图为```.png```格式的图片*/  ```background-color: #f00; ``` ``` background-image:  url(background.gif);```  ```background-repeat: no-repeat; ``` ``` background-attachment: fixed; ``` ``` background-position: 0 0; ``` /*背景位置与页面窗口的宽、高成正相关*/

可缩写为一句:

background: #f00  url(background.gif)  no-repeat  fixed  0 0;

如图:


background-size:contain;
background-size:cover;
display:inline-block
display:block

注:使用background-colorbackground-image,需要注意:
(1)将该页面撑开
(2)注意background-size使用

二、CSS Sprite

1、俗称“雪碧图”或“精灵图”指将不同的图片、图标合并在一张图上。
2、作用:使用CSS Sprite 可以减少网络请求(如每一张小icon图片都会产生加载时间),提高网页加载性能。
3、使用:利用background-position,对图标进行位置偏移

三、隐藏or透明

  • opacity: 0;:透明度为0,整体(透明度0-1,0.5为半透明)
  • visibility: hidden;: 即元素看不见,但存在。 和opacity:0;类似
  • display:none;: 消失,不占位置(页面上渲染的其他元素都察觉不到)
  • background-colorrgba(0,0,0,0.2) 只是背景色透明

四、inline-block

1、定义:

既呈现inline特性(不占据一整行,宽度由内容宽度决定),又呈现block特性(可设置宽高,内外边距)
注:display:block;的布局下,块级元素的宽度是一个可忽视的问题

1

2
3

2、缝隙问题:

如图:


image

3、行内元素对齐问题:

如图:
inline-block的布局下,可以看成文字对齐。默认情况下,行内元素对齐是以里面内容的底部为基线对齐(至少两个元素进行对比),其他则设置vertical-align:top(bottom、middle)等)进行基线对齐(在表格中使用尤为明显)

image

五、line-height

1、定义:

用于设置单行文本的行高。

2、几个问题:

(1)了解line-heightmarginpadding在使用上的一个区别

  • line-height: 2,所占据的行高是本身文字高度的2倍。
  • margin是外边距,
  • padding则是内边距
    image

(2)line-height的用法,数字和百分比的区别

line-height:2VS line-height: 100%
line-height具有继承性。

image

  • line-height: 2,所占据的行高是本身文字高度的2倍。想要页面每个元素都拥有几倍的行高,则设置为数字。
  • line-height: 200% ,是其父元素文字高度的2倍。(注:百分比有一定的相对性,如本身无设置和设置百分比,便可看出差别)
    image

3、height=line-heihgt

设置垂直居中单行文本,如图:


image

六、盒模型

1、IE 盒模型

IE 盒模型的width包括:content尺寸+padding+border

image

(如IE678怪异模式,不添加doctype,使用ie盒模型,宽度=边框+padding+内容宽度),如图:

image

2、W3C标准下的盒模型

W3C标准下的盒模型paddingborder所占的空间不在widthheight范围内,content宽度即是width

image

(如chrome,ie9+,ie678,添加doctype,使用标准盒模型,宽度=内容宽度),如图:

image

3、box-sizing(css3新样式)

为了使用方便,可以用IE盒模型计算宽度的方法,将width=border+padding+内容宽度
A、W3C标准的盒模型:box-sizing: content-box

B、IE盒模型:box-sizing:border-box

<div style="height:200px;  width:200px;  border:solid  10px #333;  padding:100px>
</div>

七、字体图标的实现

1、字体图标的原理:

当你写完带有字体的html文件时,在浏览器打开页面时,浏览器会读取 HTML 文件进行解析渲染。当读到「饥饿」两个字时会转换成对应的 unicode码(一种识别字体的特定编号)。再根据HTML 里设置的font-family(如果没设置则使用浏览器默认设置)去查找电脑里(如果有自定义字体@font-face ,则加载对应字体文件)对应字体的字体文件。找到文件后根据 unicode 码去查找绘制外形,找到后绘制到页面上。 所以对于第二个范例, 「&#9965」是「饥」的 unicede 码,所以用户最终也能看到serf字体样式的「饥」字。

2、实现步骤:

第一步:
进入Iconfont-阿里巴巴矢量图标库——选一个喜欢的图标——添加至购物车——添加至项目——复制Unicode码

第二步:
进入代码——并未展示图标(说明系统中没有能体现字体图标的该Unicode码,浏览器也未能识别Unicode码)——复制该图标自动生成的css代码(用@font-face来定义一个字体,该字体名可以随便取,这里为:XXX)——定义该字体图标,并设置它css样式如font-family:XXX;等样式

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style> @font-face {
    font-family: 'iconfont';  /* project id 645342  */
  src: url('//at.alicdn.com/t/font_645342_wae7ml0d77am7vi.eot');
  src: url('//at.alicdn.com/t/font_645342_wae7ml0d77am7vi.eot?#iefix') format('embedded-opentype'),
  url('//at.alicdn.com/t/font_645342_wae7ml0d77am7vi.woff') format('woff'),
  url('//at.alicdn.com/t/font_645342_wae7ml0d77am7vi.ttf') format('truetype'),
  url('//at.alicdn.com/t/font_645342_wae7ml0d77am7vi.svg#iconfont') format('svg');
     }     p{
      font-family:  iconfont; font-size: 40px;
    }
  </style>
</head>
<body>
     <p>&#xe618;</p>
</body>
</html>

让一个元素"看不见"有几种方式?有什么区别?

1、display: none;

给元素设置display: none;后,元素会从页面中彻底消失,它原本占据的空间会被其他元素占有,会造成浏览器的回流与重绘。

2、visibility: hidden;

给元素设置visibility: hidden;后,元素会从页面中消失,它原本占据的空间会被保留,会造成浏览器的重绘,适用于希望元素隐藏又不影响页面布局的场景。

3、opacity: 0;

给元素设置opacity: 0;后,元素变成透明的我们肉眼就看不到了,所以原本占据的空间还在。

4、设置盒模型属性为0

heightwidthpaddingbordermargin等盒模型属性的值全设为0,如果元素內还有子元素或内容,还应overflow: hidden;来隐藏子元素。

.box1  {  width: 0;  height: 0;  padding: 0;  border: 0;  margin: 0;  overflow: hidden;  }

5、设置元素绝对定位与toprightbottomleft等将元素移出屏幕,

如:

.box1  {  position: absolute;  left: 100%;  }  或:
.box1  {  position: absolute;  top: 100px;  }

6、设置元素的绝对定位与z-index,将z-index设置成尽量小的负数。

z-index是相对而言的 ,用z-index就要设置其他元素的z-index值,且如果元素本身占据空间很大就不一定会被z-index值比它大的元素完全覆盖,所以不推荐这种方法。 如:

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,467评论 1 45
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,309评论 2 66
  • 每天写一篇,目标是发表作品!
    平仙冰俏阅读 71评论 0 0
  • 同学聚会,又一次提到了毕业之后就再未见过的中学数学老师。作为当年的数学课代表,我再次成为众多同学的“批斗”对象。 ...
    徐打春阅读 469评论 0 3