定位?

定位?

定位?

  • 默认是static
  • 相对定位
  • 绝对定位
  • 固定定位

相对定位:

  • 没脱离文档流,位置还在
  • 相对定位的元素比普通元素的层级要高
  • 相对定位的元素,它的参照物的元素是它自身
  • 相对定位还有一个比较常用的作用,就是给绝对定位的元素做参照物
  • 如果给相对定位的元素同时设置left、right、bottom、top,它将按照left和top定位

绝对定位:

  • 想让谁绝对定位,咱们就给谁加position:absolute;
  • 让谁做它的参照物,咱们就给谁添加position:relative;但是如果它的参照物已经具备position:absolute;position:fixed;那我们就不用设置了,如果都没有,并且也没设置,就会参照body

绝对定位的特点?

  • 脱离文档流
  • 默认情况下层级大于普通文档流(它的层级是可以设置的,z-index设置层级)
  • 参照物只要是它的上级(并不是上一级)元素,都可以,注意,不能是同级元素
  • 浏览器在寻找参照物的时候,是按照就近原则去找的,就是说如果绝对定位的元素的父级元素如果设置了position:absolute,或者是position:relative,或者position:fixed.那参照物就是它父亲,如果它父亲不具备这三个其中之一,就会继续向它的上级继续寻找,直到找到为止,如果到最后都没找到,那么参照物就是body.
  • 如果不给绝对定位的元素设置宽度,它的宽度就是自身的内容。如果给绝对定位的元素的宽度设置百分比,它的宽度是参照它的参照物(而不是它的父级)

固定定位?

  • 想要给谁设置固定定位,就给谁添加position:fixed;
  • 固定定位的参照物是浏览器窗口;

让一个定位元素在盒子中垂直居中的公式?

  • 让绝对定位的元素top:50%,margin-top:负的子盒子的高度的一半
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .parent{
            width: 500px;
            height: 500px;
            background: lightblue;
            margin: auto;
            position: relative;
        }
        .child{
            width: 100px;
            height: 100px;
            background: hotpink;
            position: absolute;
            top: 50%;
            left: 0;
            margin-top:-50px;/*子盒子的高度的一半*/
        }
    </style>
</head>
<body>
<div class="parent">
    <div class="child"></div>
</div>
</body>
</html>
复制代码

让一个定位元素水平居中的方法?

  • left:50%,margin-left:为子盒子负的宽度的一半
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>77.</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .parent{
            width: 800px;
            height: 800px;
            background: red;
            margin: auto;
            position: relative;
        }
        .son{
            width: 200px;
            height: 200px;
            background: yellow;
            position: absolute;
            left: 50%;
            top: 0;
            margin-left: -100px;
        }
    </style>
</head>
<body>
<div class="parent">
<div class="son"></div>
</div>
</body>
</html>
复制代码

面试题:如何让一个元素在盒子中垂直水平居中的公式:

  • 让left和top都为50%,margin-left:为子盒子负的宽度的一半;margin-top:为子盒子负的高度的一半
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>77.</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .parent{
            width: 800px;
            height: 800px;
            background: red;
            margin: auto;
            position: relative;
        }
        .son{
            width: 200px;
            height: 200px;
            background: yellow;
            position: absolute;
            left: 50%;
            top: 0;
            margin-left: -100px;
        }
    </style>
</head>
<body>
<div class="parent">
<div class="son"></div>
</div>
</body>
</html>
复制代码

让一个盒子成圆形?

  • border-radius:50%(就是小圆点)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101253.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓渗透测试工具_渗透测试包括哪些

    安卓渗透测试工具_渗透测试包括哪些0x00前言     伴随着移动互联网的高速发展,手机端走进普通大众的日常生活,这里我们将基于android系统介绍一些基本android渗透测试必备的使用工具。这些工具更多的是安装在android客户端。至于PC端,在后面会陆续介绍。这里建议先把手机root了,获得root权限。至于怎样root,每个品牌每个型号的手机各不同,可以自行百度或者参考你手机的官网。0x01系统管理

    2022年8月12日
    5
  • java中method方法_java修改字体大小

    java中method方法_java修改字体大小LocalDateaThousandDaysLater=hello.plusDays(1000);这个调用后hello会有什么变化?他会改为1000天之后的日期吗?事实上,并没有。plusDays()方法会生成一个新的LocalDate对象,然后将这个新对象赋值给aThousandDaysLater。原来的对象在堆中不会有任何改变。我们说的plusDays方法没有更改调用plusDays方法的

    2022年9月4日
    2
  • SNZ Pool宣布加入Celer状态守卫者网络以及cBridge流动性桥接网络

    SNZ Pool宣布加入Celer状态守卫者网络以及cBridge流动性桥接网络PoS节点技术服务提供商SNZPool宣布加入Celer状态守卫者网络及CelercBridge流动性桥接网络。

    2022年6月2日
    39
  • Kafka入门经典教程_kafka菜鸟教程

    Kafka入门经典教程_kafka菜鸟教程转自:https://blog.csdn.net/yuan_xw/article/details/512109541Kafka入门教程1.1消息队列(MessageQueue)MessageQueue消息传送系统提供传送服务。消息传送依赖于大量支持组件,这些组件负责处理连接服务、消息的路由和传送、持久性、安全性以及日志记录。消息服务器可以使用一个或多个代理实例。J…

    2022年10月16日
    0
  • 运算放大电路在音频放大电路中的应用研究与实现「建议收藏」

    运算放大电路在音频放大电路中的应用研究与实现「建议收藏」1、导言放大电路是构成各种功能模拟电路的基础电路,也是对模拟信号最基本的处理。音频信号可以分解成若干频率的正玄波之和,其频率分为在20Hz~20KHz。不当的放大电路会造成音频信号的失真,亦会带来干扰和噪声。所有电子信息系统组成的原则都应包含:1、满足功能和性能要求,2、尽量简单,3、电磁兼容,4、调试应用简单。因此本文就来研究在不会增大电路复杂度的前提下,如何实现音频信号放大的同时对信号进…

    2022年5月29日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号