发表于: 2019-04-04 21:31:53
2 753
今天完成的事情:
1.完成css任务7起始页面页
2.解决css任务6思考题, 去除inline-block间距有哪几种方法?
1)什么是inline-block
在CSS中,块级对象元素会单独占一行显示,多个block元素会各自新起一行,并且可以设置width,height属性;而内联对象元素前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满,对inline元素设置width,height属性无效。
CSS中通过display:inline-block对一个对象指定inline-block属性,可以将对象呈递为内联对象,但是对象的内容作为块对象呈递。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。
2)为什么inline-block水平呈现的元素间会有空隙?
元素被当成行内元素排版的时候,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据white-space的处理方式(默认是normal,合并多余空白),原来HTML代码中的回车换行被转成一个空白符,在字体不为0的情况下,空白符占据一定宽度,所以inline-block的元素之间就出现了空隙。这些元素之间的间距会随着字体的大小而变化,当行内元素font-size:16px时,间距为8px。
3)去除inline-block间距的方法
(1)解决元素之间的空白符
(2)使用font-size:0
为父元素中设置font-size: 0,在子元素上重置正确的font-size。inline-block元素必须设定字体,不然行内元素中的字体不会显示。 增加了代码量。
(3)使用margin负值
元素之间间距的大小与上下文字体大小相关;并且同一大小的字体,元素之间的间距在不同浏览器下是不一样的,如:font-size:16px时,Chrome下元素之间的间距为8px,而Firefox下元素之间的间距为4px。所以不同浏览器下margin-right的负值是不一样的,因此这个方法不通用。
(4)使用letter-spacing
(5)使用word-spacing
明天计划的事情:
1.继续css任务7
2.学习CSS半透明是如何实现的
遇到的问题:
暂无
收获:
1.什么是white-space属性
white-space 属性设置如何处理元素内的空白。
值 | 描述 |
---|---|
normal | 默认。空白会被浏览器忽略。 |
pre | 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。 |
nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 |
pre-wrap | 保留空白符序列,但是正常地进行换行。 |
pre-line | 合并空白符序列,但是保留换行符。 |
inherit | 规定应该从父元素继承 white-space 属性的值。 |
word-spacing 属性增加或减少单词间的空白(即字间隔)。
3.什么是letter-spacing
letter-spacing 属性增加或减少字符间的空白(字符间距)。
该属性定义了在文本字符框之间插入多少空间。由于字符字形通常比其字符框要窄,指定长度值时,会调整字母之间通常的间隔。因此,normal 就相当于值为 0。
评论