了解CSS定位

CSS定位

定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为。如当您想要需要对页面做一些细节方面的调整可以选择用定位的方式,从而不影响页面的布局。

1.静态定位

静态定位只是意味着将元素放入它在文档布局流中的正常位置,没有脱离文档流。

2.相对定位

相对定位依然没有脱离文档流,但是可以修改相对定位的位置(包括与其他元素重叠)。利用top,bottom,left和right属性可以使相对定位的元素进行移动。
body内容为:

  <div class="demo-box">
        <div class="demo-top"></div>
        <div class="demo-bottom"></div>
    </div>

css样式为:

	  .demo-box{
            border: 1px solid green;
            width: 300px;
        }
        .demo-top{
            width: 300px;
            height: 100px;
            background-color: red;
            /* position: relative;
            top: 70px; */
        }
        .demo-bottom{
            width: 300px;
            height: 100px;
            background-color: blue;
        }

运行的结果是这样的:
在这里插入图片描述

那么当您想要将红色div移动下来可以给css样式添加这个语句。

 position: relative;
 top: 70px;

在这里插入图片描述

很明显当红色div下移时,蓝色div变小,同时,您会发现绿色边框的高度没有发生任何变化。相对定位的元素不会影响父容器的大小和变化,但是相对定位元素的位置还是保留在哪里的。

3.绝对定位

会让元素脱离文档流 ,不占据页面位置。
例如当让红色div进行绝对定位时,css样式为:

   .demo-top{
            width: 300px;
            height: 50px;
            background-color: red;
           position: absolute;
        }

在这里插入图片描述

红色div将蓝色div盖住,并且父容器没有为红色div留出相应的位置。

4.固定定位

固定定位与绝对定位的方式相同,只有一个主要区别:绝对定位固定元素是相对于 元素或其最近的相对定位祖先,而固定定位固定元素则是相对于浏览器视口本身。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个简单的汽车租赁管理系统(C++控制台程序): 利用C++实现对汽车和客户信息的增、删、改等操作,并保存。 部分代码: // CarRent.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "CarData.h" #include "Menu.h" #include"CustomerData.h" int main() { Menu::welcome(); Menu::login(); //登录界面 char choice; int carid, customerid; //汽车编号,客户编号 CustomerData CustomerDB; //客户库 Customer *r; //客户 CarData CarDB; //汽车库 Car *b; //汽车 Menu::showMenu(); //显示菜单 cout <> choice; while (choice != '0') { switch (choice) { case '1': //输入客户编号和要出租的汽车 cout <> customerid; try { if (customerid <= 0) throw 1; } catch (...) { cout << "输入有误,请重新输入"; break; } cout <> carid; try { if (carid <= 0) throw 1; } catch (...) { cout << "输入有误,请重新输入"; break; } r = CustomerDB.search(customerid); if (NULL == r) { cout << "不存在该客户!"; cout << endl; break; } b = CarDB.search(carid); if (b == NULL) { cout << "不存在该汽车!"; cout <borrowCar() == 0) { cout << "该汽车已租出!"; cout <borrowCar(b->getNo()); cout << "你在" <getBorTime()) << "成功出租一辆" <getName() << endl << "每日租金为(不足一天按一天计算):" <getPay(); break; case '2': //归还操作 cout <> customerid; try { if (customerid <= 0) throw 1; } catch (...) { cout << "输入有误,请重新输入"; break; } cout <> carid; try { if (carid <= 0) throw 1; } catch (...) { cout << "输入有误,请重新输入"; break; } r = CustomerDB.search(customerid); //按编号查找 if (r == NULL) { cout << "不存在该客户!" << endl; break; } b = CarDB.search(carid); if (b == NULL) { cout << "不存在该汽车!" <getOnshelf() == 1) { cout << "该汽车已经归还!" << endl; break; } cout << "您成功归还一辆"

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值