CSS基础学习03

1. CSS Display(显示) 与 Visibility(可见性)

display与visibility属性可以用来设置html元素的隐藏和显示

display设置html元素的隐藏和显示,隐藏的元素不会占用任何空间.

也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

none隐藏当前元素 block显示当前元素,当前元素被设置成块级元素

<style>
		#img1 {
			display: block;
		}
		</style>

显示如下:

visibility属性指定一个元素应可见还是隐藏

隐藏的元素仍需占用与未隐藏之前一样的空间

hidden隐藏当前元素 visible显示当前元素

#img2 {
			visibility: hidden;
		}

<img id="img2" src="imgs/avatar2.png" >
		  <span>测试图片之后</span>

显示如下;

2. CSS定位设置

想要将html元素放置在网页的指定位置那么就需要设置定位属性

position 设置html元素在网页中的定位方式/定位标准/定义原则

默认网页中的定位方式:从左上角开始排列,一行排满以后自动换行,当碰到块级元素时无论有没有排满当前行都会自动折行。

static--没有定位,遵循默认网页中的定位方式【顶部 top,底部bottom,左侧left和右侧right属性无效

absolute--不遵循默认网页中的定位方式,元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于body

relative--遵循默认网页中的定位方式,相对于其他元素的位置而确定

fixed--不遵循默认网页中的定位方式,元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动.

sticky--粘性定位,在relative与fixed 定位之间切换。

顶部 top,底部bottom,左侧left和右侧right属性---设置具体定位距离

顶部 top,底部bottom,左侧left和右侧right属性在使用之前需要先设置position属性

2.1 absolute定位

不遵循默认网页中的定位方式

元素的位置相对于最近的 已定位父元素

如果没有最近的已定位的父元素,那么它的位置相对于body

如果最近的已定位的父元素是static定位,那么它的位置相对于body

如果最近的已定位的父元素是除static 定位,那么它的位置相对于absolute定位

依靠top,left,bottom,right设置具体位置

(1)没有父元素,定位相当于body

<style>
	body {
			margin: 0;
		 }
  #img1 {
		position: absolute; /*绝对定位*/
	    top: 50%;
        left:200px;
		 }

<img id="img1" src="imgs/avatar3.png" >

显示如下:

(2)有父元素,但未定位

父元素<div>,但未定位,依然相对于body

父元素<div>,但定位为:static,依然相对于body

div {
			 width: 400px;
			 height: 400px;
			 background-color: tomato;
		 }
		 #img2 {
			 position: absolute;
			 top: 100px;
		 }

<div>
			<img id="img2" src="imgs/avatar3.png" >
		</div>

显示如下:

 (3)有父元素,定位了absolute

div {
			 width: 400px;
			 height: 400px;
			 background-color: tomato;
			 position: absolute;
		 }
		 #img2 {
			 position: absolute;
			 top: 100px;
              left:100px;
		 }


<div>
			<img id="img2" src="imgs/avatar3.png" >
		</div>

显示如下:

(4)有父元素定位,但定位不是absolute,跟absolute效果一样

(5)有父元素,最近已定位父元素为 div1。与div2 无关,因为无定位

#div1 {
			 width: 400px;
			 height: 400px;
			 background-color: tomato;
			position: absolute;
		#div2 {
			 width: 400px;
			 height: 400px;
			 background-color: blue; 
		 }


<div id="div1">
			<div id="div2">
				<img id="img2" src="imgs/avatar3.png"/>
			</div>
		</div>

(6)有已定位的父元素:div1 ,div2。最近的为div2

#div1 {
			 width: 500px;
			 height: 500px;
			 background-color: tomato;
			position: absolute;
		}
		#div2 {
			 width: 400px;
			 height: 400px;
			 background-color: blue; 
			 position: absolute;
              top: 100px;
			 left: 100px

		 }
		 #img2 {
			 position: absolute;
			 top: 100px;
			 left: 100px;
		 }


<div id="div1">
			<div id="div2">
				<img id="img2" src="imgs/avatar3.png"/>
			</div>
		</div>


2.2 relative定位

遵循默认网页中的定位方式,相对于其他元素的位置而确定

(图片离文字的距离)

<style>
		body {
			margin: o;
		}
		#img1 {
			position: relative;
			top: 100px;
		}
		
		</style>

<span>图片之前</span>
		<img id="img1" src="imgs/avatar4.png" >
		<span>图片之后</span>

显示如下:

2.3 fixed定位

不遵循默认网页中的定位方式,元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动.

<style>
		p.pos_fixed {
			position: fixed;
			top: 30px; /*距离最顶端*/
			right: 50px;/*距离最右端*/
		}
		</style>
<p class="pos_fixed">Some more text</p>

显示如下:

2.4 sticky 定位

在relative与fixed 定位之间切换。

<style>
		  div.sticky {
			  position: sticky;
			  top: 0; /* 滑动到最顶端,上边距为0 */
			  padding: 5px;
			  background-color: aqua;
			  border: 2px solid black;
		  }
		</style>

<p>尝试滚动页面</p>
		<div class="sticky">我是粘性定位</div>
		<div style="padding-bottom:2000px"><!-- 内边距很大,相当于一个大盒子 -->
			<p>滚动我</p>
			<p>来回滚动我</p>
		    <p>滚动我</p>
			<p>来回滚动我</p>
		    <p>滚动我</p>
		    <p>来回滚动我</p>
		</div>

显示如下:

 3. z-index设置元素重叠

z-index取值大的在取值小的上面

没有position属性设置的话,z-index的重叠顺序是无效的

<style>
		#div1 {
			width: 200px;
			height: 200px;
			background-color: red;
			position: absolute;
			top:150px;
			z-index: 1;
		}
		#div2 {
			width: 200px;
			height: 200px;
			background-color: blue;
			position: absolute;
			top:200px;
			z-index: 0;
		}
		</style>

 显示如下:

4. Overflow

控制内容溢出元素框时在对应的元素区间内添加滚动条

visible 默认值。内容不会被修剪,会呈现在元素框之外。

hidden 内容会被修剪,并且其余内容是不可见的。

scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

<style>
		   body {
			   margin: 0;
		   }
		   div {
			   width: 100px;
			   height: 100px;
			   border: 10px solid aqua;
			   overflow: scroll;
		   }
		</style>


<div>
			<img src="imgs/avatar5.png" >
		</div>

显示如下:

5. CSS Float(浮动)

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

浮动元素之后的元素将围绕它。

<style> 
	body{margin: 0;} 
	#img2{ 
	float: right; 
	} 
	</style>

<p id="p1">
			<img id="img2"src="imgs/avatar2.png" />
			元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
			浮动元素之后的元素将围绕它。元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
		
			浮动元素之后的元素将围绕它。元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
			浮动元素之后的元素将围绕它。元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
			浮动元素之后的元素将围绕它。元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
	
		</p>



显示如下:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值