盒子模型

css盒子模型

组成: content------>padding------>border----->margin
物品 填充物 包装盒 盒子与盒子之间的间距
content: 内容区域 width和height组成的

		padding:  内边距(内填充)
			只写一个值:30px  (上下左右)
			写两个值: 30px  40px (上下  左右)
			写三个值:30px  40px 30px  40px(上 右 下 左)
		
		单一样式只能写一个值:
				padding-lift:
				padding-right:
				padding-top:
				padding-bottom:
		margin:  外边距(外填充)
			只写一个值:30px  (上下左右)
			写两个值: 30px  40px (上下  左右)
			写三个值:30px  40px 30px  40px(上 右 下 左)
		
		单一样式只能写一个值:
				margin-lift:
				margin-right:
				margin-top:
				margin-bottom:
		注意:
			1.背景色填充到margin以内的区域(不包括margin区域)
			2.文字在content区域添加
			3.padding不能为负数,而margin可以为负数

在这里插入图片描述
box-sizing
box-sizing属性允许您以特定的方式定义匹配某个区域的特定元素。取值为content-box(默认值)| border-box。

盒子模型的一些问题:
		1.margin叠加问题,出现在上下margin同时的时候,会取上下中值较大的作为叠加的的值
		解决方案:
			1.BFC规范
			2.想办法只给一个元素添加间距
	    2. margin传递问题,出现在嵌套的结构中,只是针对margin-top的问题
	    	解决方案:
			1.BFC规范
			2.给父容器加边框
			3.margin换成padding

模子模型扩展:
1.margin左右自适应是可以的,但是上下是不可以的
2.width,height不设置时,对盒子模型的影响,会自动计算容器的大小,节省代码

最大最小宽高

min-width ,min-height
max-width ,max-height

%单位:换算------>以父容器的大小进行换算的

css层次选择器

	后代  M  N  { }
	父子  M> N  {  }
	兄弟 M  ~  N {  } 当前M下面的所有兄弟N标签
	相邻 M+N { } 当前M下面相邻的N标签

属性选择器

M[attr]{}
=  : 完全匹配
*=  : 部分匹配
^= : 起始匹配
$= : 结束匹配
[] [] [] : 组合匹配

css伪类

M:伪类 { }
:link   访问前的样式              (只能添加给a标签)
:visited 访问后的样式           (只能添加给a标签)
:hover  鼠标移入时的样式    (可以添加给所有的标签)
:active  鼠标按下时的样式    (可以添加给所有的标签)

伪类选择器

:after  , :before    通过伪类的方式给元素添加一个文本内容,使用content属性
:checked  , disabled  , :focus都是针对表单元素的

结构性伪类选择器:
	nth-of-type()     nth-child()
	角标是从一开始的,1表示第一项,2表示第二项    |    n值    表示从0到我穷大
	first-of-type(第一个)
	last-of-type(最后一个)
	only-of-type(唯一一个)

在这里插入图片描述

css的默认样式

没有默认样式的 :div  ,span....
 
有样式的 :
		body:有默认margin--->8px
		h1:有默认margin----->上下21.44px
   `	p:有默认margin----->上下16px
   		ul:有默认margin----->上下16px  padding: 左 40px
   		....................

css样式重置

css reset:
在这里插入图片描述
在这里插入图片描述

ps的使用

在这里插入图片描述

float浮动

文档流
	文档流是文档中可显示的对象排列时所占用的位置
float特性
	加浮动的元素,会脱离文档流 ,会延迟父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动的元素进行排列
float取值
	left
	right
	none(默认)

如何清除浮动
	上下排列:  
				 clear属性:  表示清除浮动的  left  ,right  ,both
	嵌套排列:
				固定宽高:不推荐,不能把高度固定死,不适合做自适应的效果。
				父元素浮动:不推荐,因为父容器浮动也会影响到后面的元素。

				overflow : hidden (BFC规范),如果有子元素想溢出,那么会受到影响。
				display : inline-block (BFC规范),不推荐,父容器会影响到后面的元素。
				设置空标签:不推荐,,会多添加一个标签。
				after伪类:推荐,是空标签的加强版,目前各大公司的做法。(clear属性只会操作块标签,对内联标签不起作用)
.clear:after{ content: ''; clear : both; display: block;}
清除:在...之后{内容:'';清除:两者;显示:块;}


在这里插入图片描述

position定位

浮动适用于左右布局,定位适用于叠加的布局
position取值
static: (默认)
relative:相对定位
absolutejued :绝对定位
fixed :固定定位
sticky :粘性定位

relative:相对定位
	如果没有定位偏移量,对元素本身没有任何影响不使元素脱离文档流
	不影响其他元素布局
	left. top、 right、bottom是相对于当前元素自身进行偏移的

absolute :绝对定位
	使元素完全脱离文档流
	使内联元素支持宽高(让内联具备块特性)
	使块元素默认宽根据内容决定(让块具备内联的特性)
	如果有定位祖先元素相对于定位祖先元素发生偏移,没有定位祖先元素相对于整个文档发生偏移(绝对、相对、固定)

css圆角

border-radius
	给标签添加圆角

PC端的布局

通栏 :自适应浏览器的宽度
版心:固定一个宽度,并且让容器居中

CSS cursor 属性

  #banner .banner_btn li{ display: inline-block; width: 12px;
            height: 12px;   
            border: 2px solid blueviolet; 
            border-radius: 50%;/*设置圆角  */
            /* box-sizing: border-box; 为元素设定的宽度和高度决定了元素的边框盒。
就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。
通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。 */
            box-sizing: border-box;
            margin: 0 6px;/* 设置小圆圈之间间距 */
            cursor: pointer;/* 光标呈现为指示链接的指针(一只手) */
        }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值