CSS常见样式2

1. text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中

text-align 属性规定元素中的文本的水平对齐方式
可能的值

|值 |描述|
|-||
|left| 把文本排列到左边。默认值:由浏览器决定。|
|right |把文本排列到右边。|
|center |把文本排列到中间。|
|justify |实现两端对齐文本效果。|
|inherit |规定应该从父元素继承 text-align 属性的值。|

  1. text-align不会作用于块级元素。
  2. text-align作用于文本。
  3. text-align作用于内联元素。
  4. text-align作用于图片。
  5. text-align作用于inline-block

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

标准盒子模型

W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。

IE盒子模型

IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。

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

可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。

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

  • 继承上的区别
  • 父元素设置line-height:2会直接继承给子元素,子元素根据自己的font-size再去计算子元素自己的line--
    height。
  • 父元素设置line-height:200%是计算好了line-height值,然后把这个计算值给子元素继承,子元素继承拿到的就是最终的值了。此时子元素设置font-size就对其line-height无影响了。

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

  • inline-block 会将对象呈现为内联对象,但是对象的内容作为块对象呈现。旁边的内联对象会被呈现在同一行内。(准确地说,应用此特性的元素呈现为内联对象,四周元素保持在同一行,但可以设置宽度和高度地块元素的属性)

  • 如何去除缝隙:

  1. 移除空格
    元素间留白间距出现的原因就是标签段之间的空格,因此,去掉HTML中的空格,自然间距就木有了。考虑到代码可读性,显然连成一行的写法是不可取的,我们可以:
<div class="space">
    <a href="##">
    惆怅</a><a href="##">
    淡定</a><a href="##">
    热血</a>
</div>

或者是:

<div class="space">
    <a href="##">惆怅</a
    ><a href="##">淡定</a
    ><a href="##">热血</a>
</div>

或者是借助HTML注释:

<div class="space">
    <a href="##">惆怅</a><!--
    --><a href="##">淡定</a><!--
    --><a href="##">热血</a>
</div>

  1. 使用margin负值
.space a {
    display: inline-block;
    margin-right: -3px;
}
  1. 不让标签闭合
    如下处理:
<div class="space">
    <a href="##">惆怅
    <a href="##">淡定
    <a href="##">热血</a>
</div>
为了兼容IE6/IE7等浏览器,最后一个列表的标签加上闭合。
  1. 使用font-size:0
.space {
    font-size: 0;
}
.space a {
    font-size: 12px;
}
  1. 使用letter-spacing
.space {
    letter-spacing: -3px;
}
.space a {
    letter-spacing: 0;
}
  1. 使用word-spacing
.space {
    word-spacing: -6px;
}
.space a {
    word-spacing: 0;
}

一个是字符间距letter-spacing一个是单词间距word-spacing,大同小异。据测试,word-spacing的负值只要大到一定程度,其兼容性上的差异就可以被忽略。因为,貌似,word-spacing即使负值很大,也不会发生重叠。

  • 高度不一样的inline-block元素如何顶端对齐
    给 inline-block 元素添加 vertical-align属性设置对齐方式

可能的值

|值| 描述|
|-||
|baseline| 默认。元素放置在父元素的基线上。|
|sub |垂直对齐文本的下标。|
|super |垂直对齐文本的上标|
|top| 把元素的顶端与行中最高元素的顶端对齐|
|text-top| 把元素的顶端与父元素字体的顶端对齐|
|middle| 把此元素放置在父元素的中部。|
|bottom |把元素的顶端与行中最低的元素的顶端对齐。|
|text-bottom| 把元素的底端与父元素字体的底端对齐。|
|% |使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。|
|inherit| 规定应该从父元素继承 vertical-align 属性的值。|

6. CSS sprite 是什么?

sprite指的是精灵图,CSS sprite简单来说就是图片拼合技术,主要是指将网页上很多用于装饰作用的小图片全部整合到一张图片内,减少网页加载时的HTTP请求并发数,页面加载时利用CSS中的背景图片定位属性background-position来指定需要显示这张大图上指定位置的部分

使用这个技术的优点就是减少页面加载时的瞬间HTTP请求并发数,提高了加载速度

缺点是这些被整合到一张图片的各种小图案后期维护修改比较麻烦,修改任意一个小图案都需要修改这张整图,同时还需要注意小图片在这个整图上的位置不能改变

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

  • display:none
    设置元素的display为none是最常用的隐藏元素的方法。
.hide {
   display:none; 
 }

将元素设置为display:none后,元素在页面上将彻底消失,元素本来占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘。

  • visibility:hidden
    设置元素的visibility为hidden也是一种常用的隐藏元素的方法,和display:none的区别在于,元素在页面消失后,其占据的空间依旧会保留着,所以它只会导致浏览器重绘而不会重排。
.hidden{
    visibility:hidden
}

visibility:hidden适用于那些元素隐藏后不希望页面布局会发生变化的场景

  • opacity:0
    opacity属性我相信大家都知道表示元素的透明度,而将元素的透明度设置为0后,在我们用户眼中,元素也是隐藏的,这算是一种隐藏元素的方法。
.transparent {
    opacity:0;
 }

这种方法和visibility:hidden的一个共同点是元素隐藏后依旧占据着空间,但我们都知道,设置透明度为0后,元素只是隐身了,它依旧存在页面中。

  • text-indent:-999em
    这个属性本来是用来设置文本缩进的,一般我们习惯是首行缩2个中文字所以一般的用法是text-indent:2em但它允许负值,假如给它一个负值,这个负值足够大,大到一般我们浏览器无法显示,好像它跟浏览器宽度躲猫猫一样。
.move{
    text-indent:-999em
}

假如说用户浏览器分辨率不够支撑其缩减的宽度,那么它就默认显示“没有”,但是它会占据网页空间,只不过是我们在前端“看不见”而已,但是它会影响到文档的布局,感觉它是悬挂在本文前面,一直挂到你电脑屏幕足够大显示它为止。
一个比较好的可选方案:

.move{
    text-indent: 100%; 
    white-space: nowrap; 
    overflow: hidden; 
}
  • font-size:0
    这个值是利用了字体大小来控制,通常默认的网页字体大小为12-14px,不过当文字大小为0px就可以控制文字”消失“了。
.size{
    font-size:0
}
  • .position
    我们都知道position是用来定位元素的,数值可正可负,假如说一个元素的距离我们的视窗(电脑显示屏幕)足够大,大到我们浏览器也无法显示出来,那么它也是“消失”的。
.move{
   position:absolute;
   top:-999em
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,728评论 1 92
  • 深入理解傅里叶变换Mar 12, 2017 这原本是我在知乎上对傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进...
    价值趋势技术派阅读 5,733评论 2 2
  • text-align text-align CSS 属性定义行内内容,如何相对它的块元素对齐。并不控制快元素自己的...
    nianxiaoge阅读 242评论 0 0
  • text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中 text-align: ...
    Jeff12138阅读 174评论 0 0
  • 怀着一颗浪漫美好的心,你背着行囊走进荒凉单调的撒哈拉沙漠,去探索奇特的风俗,欣赏大漠独有的地形风貌,去解开撒哈拉威...
    矢车菊阅读 428评论 0 0