html,css小总结(不是h5c3)

        浮动

        float浮动,脱离文档流(不占位置),也就是-->如果现在有两个div,第一个div设置了float:left,那么第二个div就会把第一个div的位置抢过来,第一个div则“漂浮”在第二个div之上(注意:如果第二个div有文字,文字则出现在第一个div之下)。

        定位:

        position:relative--相对定位:占着原来的位置,以自身左上角为参照点,进行top,left移动。

        position:absolute--绝对定位:脱离文档流(不占位置),以已经设置定位的父级元素左上角为参照点,进行top,left移动,如果父级元素没有设置定位,则往上找(父级的父级),都没有则以body左上角为参照点。

         position:fixed--固定定位:脱离文档流(不占位置),以自身左上角为参照点,进行top,left移动。当滚动条往下滚时,该元素固定不动(一般广告都是这样)。

         当元素设置了float或position:absolute/fixed/relative默认将display转换成block块元素。

        两个相邻的div都设置了border(我这里就以一上一下为例子),此时第一个div的下面border与第二个div上面border重合了,解决:都设置margin-top:-1px;

        border-collapse:collapse-->表格合并边框(老是忘记)。

        外边距合并问题(重点):

第一种情况:一上一下,两个div,上面div设置margin-bottom:10px,下, div设置margin-top:20px,结果两个div相隔20px,而不是我们想的30px。

        解决:那我们为什么要同时设置连个div的margin,只设置一个不就得了。

第二种情况:一个div包含另一个div(父元素与子元素),如果父元素div设置margin-top:10px,这是我们想子元素与父元素最上端距离20px,所以设置子元素margin-top:20px,但是看到的是,父元素和子元素居然同时往下移,父元素最终移动20px。

        解决:1. 设置一面“墙”-->设置border或padding;

                   2. 给父元素添加overflow:hidden;

margin-left:auto;(自动填充左边,相当于float:right)

        消除浮动所带来的影响(主要是父元素没有高度,子元素都浮动了,所以父元素的兄弟元素“有机可乘”,占了父元素的位置)

1. clear:both;(再添加一个子元素)

2. overflow:hidden;(给父元素设置)

3. 

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/*IE*/
.clearfix {
	*zoom: 1;
}

 4.

.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}

透明度:IE用 filter:alpha(opacity = 100); 取值:1~100

              其他 opcity:1;取值0~1

注意:透明度可以继承

优先级:

继承,*           0,0,0,0
标签              0,0,0,1
类,伪类,伪元素  0,0,1,0
id                0,1,0,0
写在标签内        1,0,0,0
!important       最大

vertical-align 文本、图片对齐(基线)

用处: 1. 设置图片与文字垂直关系

            2. 如果给图片加一个border,你会发现图片距离最底部有一小段空白

                原因:图片像文字一样是基于基线对齐,所以只要设置vertical-align:top/middle/bottom或者display:block

猜你喜欢

转载自blog.csdn.net/Yi_xuan_sky/article/details/81461108
今日推荐