软件定制开发供应商css常见定位、居中方案

一、 定位

1、静态定位

position:static;(默认,软件定制开发供应商具备标准流条件)

2、相对定位

position:relative;

通过 top 或者 bottom 来设置 Y 轴位置

通过 left 或者 right 来设置 X 轴位置

特点:

  1. 软件定制开发供应商相对定位不会脱离文档流
  2. 软件定制开发供应商相对于自己原来的位置

3、绝对定位

position:absolute;

通过 top 或者 bottom 来设置 Y 轴位置

通过 left 或者 right 来设置 X 轴位置

特点:

  1. 软件定制开发供应商绝对定位的元素会脱离文档流
  2. 软件定制开发供应商如果父级没有定位,则相对于文档进行定位
  3. 如果父级(祖先级)有定位,则相对于父级(祖先级)进行定位
  4. 如果有 padding ,则会相对与 paddingbox 的位置进行定位

4、固定定位(老IE不支持)

position:fixed;

通过 top 或者 bottom 来设置 Y 轴位置

通过 left 或者 right 来设置 X 轴位置

特点:

  1. 会脱离文档流
  2. 相对于可视窗口进行定位
  3. 可借鉴网页两边跟随拉条移动的广告位

5、粘性定位

position: sticky;

定位基点是窗口

通过 top 或者 bottom 来设置 Y 轴位置

通过 left 或者 right 来设置 X 轴位置

特点:

  1. 以浏览器的可视窗口为参照点移动元素(固定定位特点)
  2. 粘性定位占有原先的位置(相对定位特点)
  3. 必须添加 top 、left、right、bottom 其中一个才有效

粘性定位不起作用的原因

  • 父元素不能overflow:hidden或者overflow:auto属性。
  • 必须指定top、bottom、left、right4个值之一,否则只会处于相对定位
  • 父元素的高度不能低于sticky元素的高度
  • sticky元素仅在其父元素内生效

6、继承定位

position: inherit;

从父元素继承的值。

7、z-index

可以决定定位元素的层级关系,非定位元素不可使用

二.居中

1、内联元素居中布局

水平方向的居中:

  1. //方法一
  2. text-align:center;
  3. //方法二
  4. dispaly:flex;
  5. justify-content:center;

垂直居中

单行文本

  1. //方法一
  2. height === line-height;
  3. //方法二
  4. display: flex;
  5. align-items: center;

多行文本

  1. display: table-cell;
  2. vertical-align: middle;

知识扩展

如果有图片需要与文本进行,会发现图片总是会高出一点,无法进行垂直居中,是因为图片下方有三个像素导致的,只要对图片设置vertical-align:middle就好了

vertical-align:middle;

水平垂直居中

  1. display: flex;
  2. justify-content: center; /* 水平居中 */
  3. align-items: center; /* 垂直居中 */

2、块级元素居中布局

水平方向的居中:

  1. //方法一
  2. 定宽:margin0 auto;
  3. //方法二
  4. dispaly:flax;
  5. justify-content:center;
  6. //方法三
  7. position: absolute
  8. left:50%
  9. margin:负自身宽度一半

垂直居中:

  1. //方法一
  2. display: flex;
  3. align-items: center;
  4. //方法二
  5. position: absolute;
  6. top: 50%;
  7. margin-top:负本身高度一半
  8. //方法三
  9. position: absolute;
  10. top: 50%;
  11. transform: translateY(-50%);
  12. //方法四
  13. position: relative;
  14. top: 50%;
  15. transform: translateY(-50%);

水平垂直居中:

方法一:绝对定位+ -margin

进行定位后,top与left分别设置50%,这时元素的上边距到父元素的上边距与到子元素的下边距距离是一样的,元素的左边距到父元素的左边距与右边距距离也是一样的,这样再减去元素margin本身高度的一半与宽度的一半,这时元素就能达到垂直居中的效果。

  1. position: absolute;
  2. top: 50%;
  3. left: 50%;
  4. margin-left: —宽度一半;(负)
  5. margin-top: —高度一半;(负)

方法二:绝对定位 + margin:auto

进行定位后,利用margin的auto属性使margin自动撑满整个父元素,这样就能达到内容居中的效果

  1. position: absolute;
  2. top: 0;
  3. bottom: 0;
  4. left: 0;
  5. right: 0;
  6. margin: auto;

方法三:定位 + transform

使用transform: translate对元素进行移动,这个与第一种方式类似,第一种方法是设置margin值,而这种是定位后的位置进行移动

  1. position: absolute; /*相对定位或绝对定位均可*/
  2. top50%;
  3. left50%;
  4. transformtranslate(-50%, -50%);

方法四:flex布局(推荐)

使用flex布局,分别设置垂直方向排列子元素的居中与水平方向子元素的居中就能达到垂直居中的效果

  1. display: flex;
  2. align-items: center; /*垂直居中*/
  3. justify-content: center; /*水平居中*/

方法五:grid网格布局(推荐)

实现原理与flex布局一样

  1. displaygrid;
  2. align-items: center; /*垂直居中*/
  3. justify-content: center; /*水平居中*/

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发