css常见样式2

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

text-align 属性规定元素中的文本的水平对齐方式。
该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。通过允许用户代理调整行内容中字母和字之间的间隔,可以支持值 justify;不同用户代理可能会得到不同的结果。

从上述引用表述可以看出,text-align的作用是规定元素中文本的水平对齐方式。text-align的取值不同,元素中文本的水平对齐方式不同。

  • left 把文本排列到左边。默认值:由浏览器决定。
  • right 把文本排列到右边。
  • center 把文本排列到中间。
  • justify 实现两端对齐文本效果。
  • inherit 规定应该从父元素继承 text-align 属性的值。
    简单测试一下:简单测试
    通过测试可以看出,text-align:justify;效果并不是所想到的将 文本拉伸到两端对齐,而是一种紧密的排列方式。具体可参考以下引用:

最后一个水平对齐属性是 justify,它会带来自己的一些问题。
值 justify 可以使文本的两端都对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。您也许已经注意到了,两端对齐文本在打印领域很常见。不过在 CSS 中,还需要多做些考虑。
要由用户代理(而不是 CSS)来确定两端对齐文本如何拉伸,以填满父元素左右边界之间的空间。例如,有些浏览器可能只在单词之间增加额外的空间,而另外一些浏览器可能会平均分布字母间的额外空间(不过 CSS 规范特别指出,如果 letter-spacing 属性指定为一个长度值,“用户代理不能进一步增加或减少字符间的空间”)。还有一些用户代理可能会减少某些行的空间,使文本挤得更紧密。所有这些做法都会影响元素的外观,甚至改变其高度,这取决于用户代理的对齐选择影响了多少文本行。
CSS 也没有指定应当如何处理连字符(注1)。大多数两端对齐文本都使用连字符将长单词分开放在两行上,从而缩小单词之间的间隔,改善文本行的外观。不过,由于 CSS 没有定义连字符行为,用户代理不太可能自动加连字符。因此,在 CSS 中,两端对齐文本看上去没有打印出来好看,特别是元素可能太窄,以至于每行只能放下几个单词。当然,使用窄设计元素是可以的,不过要当心相应的缺点。

  • text-align实际是作用在块级元素上,使得块级元素内的行内元素居中。

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

  • IE盒模型


  • W3C盒模型


由上两张图可以看出IE盒模型与W3C盒模型的差异在width的定义上,IE盒模型的width指的是boder的宽度+padding的宽度+content的宽度,而W3C的盒模型的width指的是width的宽度。

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

box-sizing属性用来设置或检索对象的盒模型组成模式,可以取content-box和border-box.

  • content-box: padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和,即 ( Element width = width + border + padding )
    此属性表现为标准模式下的盒模型(即W3C盒模型)。

  • border-box: padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width )
    此属性表现为怪异模式下的盒模型(即IE盒模型)。
    *{box-sizing:border-box}即预设所有元素采用IE盒模型的模式。

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

  • line-height:2; 是将该元素行高(即字体底端到顶端距离)设置为自身行高的2倍;
  • line-height:200%;是将该元素行高设置为其父元素高度的两倍;

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

  • display:inline-block:是将元素转化为内联块元素,所谓内联块元素即是指该元素
    (1)可以水平排列;
    (2)可以当做一个块元素来进行设置。

  • 如何去除缝隙可以参考
    相关讨论
    简单来说就是将父元素的字体大小设置为零,这样就能去除间隙,之后再在该元素中将正常字体设置回来。

  • 高度不一样的一样的inline-block元素如何顶端对齐
    可以采用vertical-align:top;的方式来进行设置:
    简单测试一下
    根据测试结果来看,顶端对齐效果应该是指两inline-block元素的文本顶线对齐。

  • 简单引伸一下:关于line-height的几个概念性的东西
    line-height翻译为中文即为行高,line-height实际指的是两行文字间基线之间的垂直距离。所谓“基线”是英语中的一个概念,
    基线的定义

    基线.png

  • 如图第三条线即为基线。
    详细概念参考文章1
    详细概念参考文章2
    详细概念参考文章3

6.CSS sprite 是什么?

叫css精灵,是一种网页图片应用处理方式。将不同的图片/图标合并到一张图片上。这样可以减少网络请求次数,提高网页加载性能。

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

display:none;
将元素设置为display:none后,元素在页面上将彻底消失,元素本来占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘。
visibility:hidden
和display:none的区别在于,元素在页面消失后,其占据的空间依旧会保留着,所以它只会导致浏览器重绘而不会重排。适用于那些元素隐藏后不希望页面布局会发生变化的场景。
opacity:0
这种方法和visibility:hidden的一个共同点是元素隐藏后依旧占据着空间,但我们都知道,设置透明度为0后,元素只是隐身了,它依旧存在页面中。
background-color:rgba(0,0,0,0.2);设置背景色透明

8.代码部分

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,686评论 1 92
  • 1.text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中 属性规定元素中的文本...
    我七阅读 2,839评论 0 0
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,123评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,893评论 0 6
  • 一,text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中 作用在块级元素上面,...
    DeeJay_Y阅读 1,781评论 0 0