qtablewidget 实现浮动选择框_精讲定位与浮动FCC快报(三)

 Live as if you were to die tomorrow. Learn as if you were to live forever.

    嚯,欢迎,这一期我们来聊聊元素的定位和浮动,有点难度但是布局却是非常实用的。

    FCC主题:应用视觉设计

    FCC关卡:更改元素的相对位置-使用 float 属性将元素左浮动或右浮动

    到点了,上编译器吧!

f1cbbeb63e2c15815b889b4ac701cb47.gif

01

定位

       我们先安排两个盒模型和一些基础的样式:    

    
class="box top">盒子上
class="box bottom">盒子下
    .box {      width: 100px;      height: 100px;    }    .top {      background-color: blue;    }    .bottom {      background-color: yellow;    }

    这里实现的效果如下:

93a5c8b800d928151c27b22d40f0e563.png

     常见的定位一般有三种:relative、absolute、fixed。

    我们依次看一下,首先是relative,如果一个元素的position 设置成 relative 并不会改变该元素在普通流布局所占的位置,也不会对其它元素的位置产生影响。当然,如果设置了偏移的方向,那么元素将从当前位置,向设置的属性相反的方向偏移。

    .top {      background-color: blue;      position: relative;      top: 50px;    }

5c8421cf1dfe541ebeb7204c1e2710b4.png

    absolute定位会将元素从当前的文档流里面移除即脱离文档流,周围的元素会忽略它。可以用 CSS 的 top、bottom、left 和 right 属性来调整元素的位置。具体定位需要参考设置了position:relative;的最近的父元素,如果没有就继续往上寻找直到body标签。在下面的例子中我们就是直接参考了body标签进行位移。

    .top {      background-color: blue;      position: absolute;      top: 50px; /*向下移动了50像素,可以理解为距离上面的距离*/    }

5b6822393cd8b3b77b59b7b13b3be1c3.png

    好了,到这里我们就能看出来两者的区别了。relative由于元素并没有脱离文档流,所以其它元素(黄色盒子)依然待在它原本的位置,只有设置了relative的盒子(蓝色盒子)在移动,这也说明了其不会影响其他元素的特性。而设置了absolute的元素由于脱离了文档流,其原本的位置就会被别人使用了,也就是所谓的被其它元素忽略,这就是为什么黄色盒子可以到达原本蓝色盒子的位置。是不是有点绕呢,可以亲自动手多试试看,再来理解我说的这些。

0719caf88e8e8cdad2b2fef74774fee0.png

    最后的是fixed定位,其实它就是absolute的一个变种(所以它也是脱离文档流),将某个元素固定在一个位置,不过滚动条怎么滚动它始终待在那个位置不会消失,通常会用来制作底边栏和导航栏,除了这一点外与absolute没有什么不同,所以就不举例了。

02

浮动

    float浮动是脱离文档流的另一种机制,浮动元素向左或向右浮动,直到它的外边缘碰到包含框或另一个浮动框的边框为止(比如两个元素都左浮动就只是挤在一起不会覆盖!)。

    它可以让原本分为上下两行的两个块状元素(两个都要float)合并到一行,当然前提是一行的空间足够容纳两个块状元素(可以利用width来改变块状元素大小以符合要求,如果元素过大就放不下就不能一起在一行)。  

    .top {      background-color: blue;      float: left;    }    .bottom {      background-color: yellow;      float: right;    }

edd2b595e02fc43c2e5581dc0425495a.png

    可以看到原本上下两行的盒子就被一左一右的放到了一行,当然,如果你设置两者都左浮动的话,黄色盒子也只是会挤到蓝色盒子的边缘而不是覆盖:

1ce69164acef30012bf45f61b2c3bbdb.png

    最后在补充一个常用的元素居中的方法:   

    .top {      background-color: blue;      margin: 0 auto; /*元素居中*/    }

1e11dc89448e39e041473527d8dec6f4.png

    好了,关于定位和浮动就说到这里了,有了这个基础,我们再去复现一些网页的大体布局就不会有太大的问题了,希望大家多动手试试哦!

1d512313a1becc0f528fd114bdbd8a65.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值