发表于: 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 属性的值。
2.什么是word-spacing 

   word-spacing 属性增加或减少单词间的空白(即字间隔)。

3.什么是letter-spacing

   letter-spacing 属性增加或减少字符间的空白(字符间距)。

   该属性定义了在文本字符框之间插入多少空间。由于字符字形通常比其字符框要窄,指定长度值时,会调整字母之间通常的间隔。因此,normal 就相当于值为 0。



返回列表 返回列表
评论

    分享到