博主信息
博文 32
粉丝 0
评论 0
访问量 34948
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
浮动定位与实例(熟悉position的作用和使用技巧)--2019年4月26日
ChenPJ的博客
原创
964人浏览过

css的定位是我们以后网页制作中比较常用的属性,也是很重要的知识点。了解各个定位的作用以及层级关系对以后的页面布局至关重要。

css定位主要有四种,静态定位、相对定位、绝对定位和固定定位。其中静态定位这个是元素的默认定位方式,不能使用top,bottom,left,right等属性,其它三种定位可以使用以上几个属性。

绝对定位

如果想为元素设置绝对定位,需要设置position:absolute;,这条语句的作用将元素从文档流中脱离出来,将不再占用原来元素的空间,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性(相对或绝对都可以)的父级元素进行绝对定位。如果不存在就逐级向上排查,直到相对于body元素,即相对于浏览器窗口。

示例,利用绝对定位和遮罩模拟登录页面。这里写两个div,都使用绝对定位,参照的父级元素为<body>,第一个div设置left和top为0,宽高100%,覆盖整个窗口。第二个div显示在窗口正中,设置left和top为50%,再通过设置外边距使div的中点居中显示。

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">    
    <title>利用遮罩创建登录页(shade)</title>
	<style>
	  body {
	    margin: 0;
            background-image:url(images/php.jpg);
            background-size: cover;
  	  }
		
	  /* 设置遮罩 */
	  .shade {
			
	    /* 利用绝对定位覆盖整个窗口 */
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    height: 100%;

	    /* 将遮罩层设置成纯黑,并设置透明度使遮罩下的背景内容显现 */
	    background-color: black;
	    opacity: 0.7;    
	   }
		
	   /* 设置登录窗口 */
	   .login img {
		
	      width: 380px;
	      height: 460px;							
	      background-color: white;

	   /*利用绝对定位使登录窗口脱离文档流,使其不随浏览器窗口大小变化*/
	      position: absolute;
			
	   /* 使登录窗在页面的正中位置显示*/
	   /* 先将登录窗口左上角定位于页面正中间(即显示起点在正中间)*/ 
	      left: 50%;
              top: 50%;

          /* 再对照参照物设置外边距,把左边与上边向相反向调整,设置负外边距就可以 */
	  /* 调整的值是登录块的大小的一半 */
	      margin-left: -190px;
              margin-top: -230px;

          }
		
	</style>
</head>

<body>
    <div class="shade"></div>
    <div class="login"><img src="images/login.jpg" alt="" ></div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

批注 2019-04-29 121414.png

固定定位

如果想为元素设置固定定位,需要设置position:fixed;,直接以浏览器窗口作为参考进行定位,它是浮动在页面中,元素位置不会随浏览器窗口的滚动条滚动而变化,除非在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响。

以下示例利用固定定位来模拟网页中的客服小窗口,我设置了背景图片的重复使页面超出一屏的高度,设置浮动元素div的right和botton为0,拖动浏览器的滚动条,浮动元素div的位置不会发生变化。

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>固定定位小案例</title>
    <style>
        /*设置背景图片重复,使页面可以滚动*/
		body {
            height:3000px;
            background-image:url(images/php.jpg);
            background-repeat: repeat-y;
        }
        
		/*使窗口固定在右下角*/
		.ads {
            width:280px;
            height:400px;
            background-image: url("images/service.png");
            position: fixed;
            right: 0;
            bottom: 0;
        }
    </style>
</head>
<body>
    <div class="ads"></div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

批注 2019-04-29 121515.png

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学