美文网首页
0408布局中的位置问题

0408布局中的位置问题

作者: xuebimi | 来源:发表于2019-06-10 21:20 被阅读0次

绝对定位与相对定位

position的参数:
static :  默认属性,对象遵循正常文档流,top,right,bottom,left等属性不会被应用。
relative : 相对定位,脱离文档流,但是在文档中的位置依然存在,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。相对body定位。偏移的位置是相对于自己在文档流中原有的位置
absolute : 绝对定位,对象脱离正常文档流,在正常文档流中的位置不存在,使用left、right、top、bottom等属性进行绝对定位。而其层叠通过[css z-index]属性定义。此时对象不具有边距,但仍有补白和边框。相对html定位,或者相对父元素非“position:static”的元素定位。
fixed: 固定定位,对象脱离正常文档流,相对于父元素的定位,父元素一般为浏览器窗口,需要配合top,left,right,bottom,z-index等属性(IE6不支持)。

注意:

  • 我们如果使用absoulte或fixed定位的话,必须指定 left、right、 top、 bottom 属性中的至少一个,否则left/right/top/bottom属性会使用它们的默认值 auto ,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递,简单讲就是都变成relative,会占用文档空间,这点非常重要,很多人使用absolute定位后发现没有脱离文档流就是这个原因,这里要特别注意~~~
    •如果top和bottom一同存在的话,那么只有top生效。
    •如果left和right一同存在的话,那么只有left生效。
  • 使用static 定位或无position定位的元素z-index属性是无效的,即(z-index为整数,可为负,仅能在定位元素上奏效,如position:absolute、relative、fixed;)
  • margin的auto属性的作用是用来分配剩余空间。内联元素,不是占一整行,没有剩余空间,如<a href=" "></a>,
    ,<img src=" " />,<span></span>,<input type=" " />。块级元素需要设置宽度,如果没有宽度的块默认就是100%,就没有auto值了。

设置块级元素水平垂直居中

  • 方法一(弊端:需要计算块级元素的一半,来进行偏移)
    position: absolute;top:50%;left: 50%;margin-left: -25px;margin-top: -25px
  • 方法二(translate方法中的参数分别指x、y方向的偏移,适用于底部居中等)
    position: absolute;top: 50%;left:50%;transform:translate(-50%,-50%)"
  • 方法三(推荐使用)
    position: absolute;top: 0;bottom: 0;left:0;right:0;margin: auto
  • 注意fixed的顶部水平居中
    position: fixed; top:0; left:0; right:0;margin-left:auto; margin-right: auto;

注意:
一般块级元素水平居中用margin:0 auto;即可。
文字水平居中:单行文字用text-align:center,多行文字参照块居中。垂直居中,将文本的line-height设置父元素的高度

flex布局

float浮动

手册解释:float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
(那浮动float的本意是什么呢?是:让文字像流水一样环绕浮动元素。用浮动实现页面布局本不是浮动该干的事情)
取值:默认none,元素不浮动,并会显示在其在文本中出现的位置。left左浮动。right右浮动。inherit从父元素继承float属性的值。

相关文章

  • 0408布局中的位置问题

    绝对定位与相对定位 position的参数:static : 默认属性,对象遵循正常文档流,top,right,b...

  • PYQT5布局管理

    Qt布局管理按简单分可分为绝对位置布局和布局管理器布局 一、绝对位置布局: 组件不放在布局管理器中,通过函数set...

  • Android基础02

    相对布局:内部各子元素按照之间的位置关系来完成布局,再次布局中的子元素里与位置相关的属性将生效。例如android...

  • 一段漂亮的Fragment hide,show相关的代码

    警言:慎终如始! 一,在布局文件中留好Fragment的位置(红色区域),这里可以用别的布局,相对布局,线性布局都...

  • iOS动态行高问题

    自动布局时,动态行高问题 这是我的xib布局视图, 自动布局总体来说就是固定每个控件位置,用控件来撑起cell(撑...

  • 布局位置

    java语言库中的swing用于开发一个工作上的小工具还是不错的,不建议做成大型项目,毕竟在市场上不是主流使用技术...

  • 浅析View的requestLayout()方法

    上周,为了实现在代码中动态移动View的位置的需求,遇到难以处理的问题。 先看看需求 在XML布局文件中,摆放好V...

  • Flutter开发-Layout -层叠布局(Stack和Pos

    层叠布局也可以称为相对布局,子Widget根据父容器的相对位置来确定布局,好比iOS中的AutoLayout,不过...

  • 开发过程中需要注意的地方

    1. 网络加载的image大小的问题 开发过程中,我用自动布局设置的image的位置,对于imageView控件我...

  • Android之RecycleView实现指定范围的拖动效果

    1 问题 在RecycleView里面实现指定位置的拖动效果,(这里是实现线性布局的,不是网格布局的) @Ov...

网友评论

      本文标题:0408布局中的位置问题

      本文链接:https://www.haomeiwen.com/subject/gvhjlftx.html