css基础知识2

1. 块级元素和行内元素分别有哪些?空(void)元素有那些?

行内元素有:

span img input select strong

块元素有:

div ul ol li dl dt dd h1 h2 h3 h4…p

知名的空元素:

<br> <hr> <img> <input> <link> <meta>

2. 在标准文档流里面块级元素和行内元素的区别

块级元素具有以下特点:
  1. 总是在新行上开始,占据一整行;
  2. 高度,行高以及外边距和内边距都可控制; 3. 宽带始终是与浏览器宽度一样,与内容无关;
  3. 它可以容纳内联元素和其他块元素
行内元素的特点:
  1. 和其他元素都在一行上;
  2. 高,行高及外边距和内边距部分可改变;
  3. 宽度只与内容有关;
  4. 行内元素只能容纳文本或者其他行内元素。 不可以设置宽高,其宽度随着内容增加,高度随字体大小而改变,
    内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用,也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用

3. 什么是 CSS 继承? 哪些属性能继承,哪些不能?

概述

每个 CSS 属性定义 的概述都指出了这个属性是默认继承的 ("Inherited: Yes") 还是默认不继承的 ("Inherited: no")。这决定了当你没有为元素的属性指定值时该如何计算值

继承属性

当元素的一个 继承属性 (inherited property 没有指定值时,则取父元素的同属性的 计算值 computed value 。只有文档根元素取该属性的概述中给定的初始值initial value

所有元素可继承:visibility 和 cursor

内联元素可继承:

letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction

终端块状元素可继承:text-indent 和 text-align

列表元素可继承:

list-style、list-style-type、list-style-position、list-style-image

不可继承的:

display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi

4. 如何让块级元素水平居中?如何让行内元素水平居中?

1. CSS设置行内元素的水平居中

div{text-align:center} /*DIV内的行内元素均会水平居中*/`

2. CSS设置行内元素的垂直居中

div{height:30px; line-height:30px} /*DIV内的行内元素均会垂直居中*/ 

3. 既要水平居中又要垂直居中

div{text-align:center; height:30px; line-height:30px}

4. CSS设置块级元素的水平居中

div p{margin:0 auto; width:500px} /*块级元素p一定要设置宽度,
才能相当于DIV父容器水平居中*/ 

5. CSS设置块级元素的垂直居中

div{width:500px} /*DIV父容器设置宽度*/ 
div p{margin:0 aut0; height:30px; line-height:30px} /*块级元素p也可以加个宽度,
以达到相对于DIV父容器的水平居中效果*

5. 用 CSS 实现一个三角形

三角形

6. 单行文本溢出加 ...如何实现?

ell{
  width:100px;//必须有宽度
  overflow: hidden;//超出隐藏
  text-overflow: ellipsis;//显示省略符号来代表被修剪的文本
  white-space: nowrap;//不换行
}

7. px, em, rem 有什么区别

px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。

px特点
  1. IE无法调整那些使用px作为单位的字体大小;

  2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;

  3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。

em 指字体高,任意浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。为了简化font -size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

em特点
  1. em的值并不是固定的;
  2. em会继承父级元素的字体大小。。

rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。

8. IE 盒模型和W3C盒模型有什么区别?

content-box(标准盒模型/W3C盒模型)

width = 内容的宽度
height = 内容的高度

border-box(怪异盒模型/IE 盒模型)

width = border + padding + 内容的宽度
height = border + padding + 内容的高度

9. *{ box-sizing: border-box;}的作用是什么?

设置他以后,相当于以怪异模式解析,border和padding全会在你设置的宽度内部,

10. line-height: 2和line-height: 200%有什么区别?

区别体现在子元素继承时,如下:
父元素设置line-height:2会直接继承给子元素,子元素根据自己的font-size再去计算子元素自己的line-height。

父元素设置line-height:200%是计算好了line-height值,然后把这个计算值给子元素继承,子元素继承拿到的就是最终的值了。此时子元素设置font-size就对其line-height无影响了。

11. inline-block有什么特性?如何去除缝隙?高度不一样的inline-block元素如何顶端对齐?

inline-block 的元素既具有 block 元素可以设置宽高的特性,同时又具有 inline 元素默认不换行的特性。当然不仅仅是这些特性,比如 inline-block 元素也可以设置 vertical-align(因为这个垂直对齐属性只对设置了inline-block的元素有效) 属性。
HTML 中的换行符、空格符、制表符等合并为空白符,字体大小不为 0 的情况下,空白符自然占据一定的宽度,使用inline-block 会产生了元素间的空隙。

移除inline-block元素间隙方法

(1)移除标签间的空格

元素间的间隙出现的原因是元素标签之间的空格,把空格去掉间隙自然就会消失。来看以下几种写法:
写法一:
<div class="demo"><span>我是一个span</span><span>我是一个span</span><span>我是一个span</span><span>我是一个span</span> </div>

写法二:
<div class="demo"> <span>我是一个span </span><span>我是一个span </span><span>我是一个span </span><span>我是一个span</span> </div>

写法三:利用HTML注释标签
<div class="demo"> <span>我是一个span</span><span>我是一个span</span><span>我是一个span</span><span>我是一个span</span> </div>

(2)取消标签闭合

<div class="demo"> <span>我是一个span <span>我是一个span <span>我是一个span <span>我是一个span </div> .demo span{background:#ddd;display: inline-block;}

把span标签的结束标签去掉,这样间隙就没有了。为了兼容IE6/IE7,最后一个标签需要闭合。
<div class="demo"> <span>我是一个span <span>我是一个span <span>我是一个span <span>我是一个span</span> </div>.demo span{ background:#ddd; display: inline-block; }

12 .CSS sprite 是什么?

CSS Sprites是一种网页图片应用处理方式,就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位。

其优点在于:

减少网页的http请求,提高性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
减少图片的字节:多张图片合并成1张图片的字节小于多张图片的字节总和;
减少了命名困扰:只需对一张集合的图片命名,不需要对每一个小元素进行命名提高制作效率;
更换风格方便:只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变,维护起来更加方便。
诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点:

图片合成比较麻烦;

背景设置时,需要得到每一个背景单元的精确位置,;
维护合成图片时,最好只是往下加图片,而不要更改已有图片。

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

1.display:none;
2.visibility:hidden;
3.opacity:0;
4.设置元素的position与left,top,bottom,right等,将元素移出至屏幕外
5.设置元素的position与z-index,将z-index设置成尽量小的负数

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,721评论 1 92
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,049评论 0 40
  • 一.CSS描述 CSS全称为“层叠样式表(Cascading Style Sheets)”,它主要是用于定义HTM...
    snowy_sunny阅读 1,034评论 0 4
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,601评论 0 30
  • 年关将至,朋友圈充斥着浓浓的年味,有的晒已经回到家的各种酸爽;有的晒回家后各种聚会的策划;当然最多的是朋友的婚礼,...
    袖子_阅读 401评论 0 1