H5C3练习心得(小米商城)12.11

1.为什么要清除浮动?

浮动的定义:非IE浏览器下,容器不设高度且子元素浮动时,容器高度不能被内容撑开。此时,内容会溢出到容器外面影响布局。这种现象被称为浮动(溢出)。

为了防止溢出,所以要清除浮动。

固定格式如下:

.clearfix::after {
				/* 清除浮动 */
				content: "";
				display: block;
				clear: both;
			}

2.为什么要设置内边距和外边距为0?(其实还不太清楚)

默认情况下,相应的HTML块级元素存在外边距,所以最开始的时候要将块元素的margin属性设置为0,覆盖掉默认样式。

h3,
			h4,
			p,
			ul {
				margin: 0;
				padding: 0;
			}

3.在做多个盒子的页面布局时可以不使用很多个div,而是使用一个div里面放ul-li,避免太复杂。

4.消除img标签所产生的间隙(就是两个图片之间会有空白区)

首先为什么会产生间隙呢?

因为img属于行内元素,而行内元素的对齐方式是通过其父元素的基线对齐的,而撑开的行高确是元素整体的高度,以底线对齐的,而底线与基线之间是有距离的,所以产生了间隙。

.product-hot img {
				/* 变成块级元素,消除img标签所产生的空隙 */
				display: block;

而常用的消除间隙的方法有:

1)img { display:block};
将其改变为block元素,但是该方法太过粗暴,相当于从根本上改变了img。
2)img {vertical-align:top;}
改变其垂直对齐方式
3)div {font-size:0};
把父元素的文字大小设置为0
4)div {line-height: 0};
把父元素的行高设置为0
5)img {float: left};
使用float进行浮动
5.块元素,行内元素到底是什么啊?有什么区别?

块元素:是指在页面上以块的形式显示的元素,他们会独占一行,并且在默认情况下会占满其父元素的宽度。

常见的块元素有

,

,

~

,

你可能感兴趣的:(css,html,css3)