盒子的显隐及布局方法

一、盒子的隐藏的三种方式

style{
.div1{
width:100px;
height:100px;
background:red;
#盒子隐藏的第一种方式:
#display:none;(将盒子的显示设置为none,盒子消失,也不会占位,盒子中的文本也会随之消失)

}
#盒子隐藏的第二种方式:
.div1{
background:rgba(0,0,0,0)(将盒子透明度设置为0,盒子消失,但盒子原有的位置还会存在,若盒子中存在文本,文本不会隐藏,透明度只是对盒子的背影色进行控制)
}
#盒子隐藏的第三种方式:
.div1{
opacity:0;(隐藏盒子及盒子中的文本信息,隐藏后的盒子还会占位,不会对其他的盒子产生影响,需采用动画处理)
}
.div2{
width:100px;
height:100px;
background:pink;
}
}
<div class="div1"></div>
<div class="div2"></div>

二、盒子显示的方式

style{
.inner{
	width:100px;
	height:100px;
	background:red;
	display:none;
}
.bottom{
width:100px;
height:100px;
background:pink;
}
.outer:hover .inner{
display:block;
}
}
<div class="outer">
  <div class="inner">
    
  </div>
</div>
<div class="bottom">
  
</div>

知识点1、

inline标签会继承父集的字体样式

知识点2、

对块级标签的父集进行浮动,父集会脱离文档流,继承子集撑开的宽度

知识点3、

浮动的盒子在没有设置width、height,默认为文本的撑开的高度

三、盒子的相对布局

1、相对定位

position:static(默认静态)  |  relative(相对定位)  |  absolute(绝对定位)  |   fixed(固定定位)
布局方向: left right top bottom

2、相对定位

style{
.box{
      width:100px;
      height:100px;
      position:relative;
      #top:50px;
      #bottom:50px;
      #left:50px;
      #right:50px;(左右取左,上下取上)
			#left=-right;
			#top=-bottom;
}

}
<div class="box">
  
</div>
#参考系:自身原有位置,上下左右各自参照是的盒子自己的上下左右边界
style{
      .box1{
      width:100px;
      height:100px;
      background:red;
      position:relative;
      left:300px;
      top:1000px;
}
      .box2{
      width:100px;
      height:100px;
      background:pink;
}
}
<div class="box1">
  
</div>
<div class="box2">
</div>
#对box1进行相对定位后,box2不会上移动,因为还占有位置,所以并没有脱离文档流

3、绝对定位

1)脱离文档流(参考系:参考最近的设置了定位的父集)

<style>
  .outer{
    width:100px;
    height:100px;
    background:red;
  }
  .inner{
    width:50px;
    height:50px;
    background:pink;
    position:absolute;#如果父集没有设置定位,就参考页面定位
  }
</style>
<div class="outer">
<div class="inner">
  
  </div>  
</div>
<style>
  .outer{
    width:100px;
    height:100px;
    background:red;、
    position:relative;
  }
  .inner{
    width:50px;
    height:50px;
    background:pink;
    position:absolute;#父集设置了定位,就参考父集定位
  }
</style>
<div class="outer">
<div class="inner">
  
  </div>  
</div>

2)父集必须设置宽度

4、固定定位

1)参考系:页面窗口(应用广告)

<style>
  .box{
    width:100px;
    height:100px;
    background:red;
    position:fixed;
    top:100px;
    left:100px;
  }
</style>
<div class="box">
  
</div>

2)完全脱离文档流

3)相对于页面是静止的

四、z-index

<style>
  .outer{
    width:200px;
    height:200px;
    background:skyblue;
    position:relative;
  }
  .box1{
    width:100px;
    height:100px;
    background:red;
    z-index:20;(默认为1,设置越大,就显示在最外层,当该值大于1,红色覆盖粉色,反之,粉色覆盖红色的)
}
  .box2{
		width:100px;
    height:100px;
    background:pink;
    float:left;
  }
  .outer div{
    position:absolute;
    top:calc(100%-100px);#可以将父集宽度设置成100%,就会虽父集高度变化
  }
</style>
<div class="outer">
  	<div class="box1">
    </div>
    <div class="box2">
    </div>
</div>

五、流式布局

思想:尽可能不用固定的属性值

概念:通过父集获得相应的属性

<Style>
  html,body{
	margin:0;
  width:100%;
  height:100%;
  }
  .box{
    width:50%;
    height:50%;
    background:skyblue;
  }
</Style>

<div class="box">
  
</div>
<Style>
  html,body{
	margin:0;
  width:100%;
  height:100%;
  }
  .box{
    width:50%;
    height:50%;
    background:skyblue;
  }
  .box1{
    width:50%wv;(widthview)#参考窗口
    height:50hv;(heightview)
    background:red;
    #流式布局限制条件(最小只能600px,最大只能是800px)
    max-width:800px;(最大的宽度)
    min-width:600px;(最小的宽度)
  }
</Style>

<div class="box"></div>
<div class="box1"></div>

通过em | rem进行流失布局

#rem只跟html的字体大小有关
<style>
  .box{
    width:1rem;
    height:1rem;
    background:red;
  }
</style>

<div class="box1">
  
</div>
posted @ 2019-06-11 20:08  emos  阅读(742)  评论(0编辑  收藏  举报