css中如何调整元素位置

简介: css中如何调整元素位置

我们通常把样式层叠表叫做css,它是用来修饰html内容的,给内容加各种各样的样式和效果。

那么在写实际项目过程中经常会遇到一个普遍性问题:就是调整元素的位置

如果只对于初学编程的人来说,只能用css的知识去做,我们也可以总结一些实用性办法;

1.利用盒子模型
盒子模型,就是在讲四个属性:


内容区        


                       max-width  最大宽度

  min-width  最小宽度

  max-height      最大高度

  min-height      最小高度

内边距(内容与盒子内壁之间的距离)


                       margin-top        

  margin-left

  margin-right

  margin-bottom

边框(盒子的厚度)        


  border-top

  border-left

  border-right

  border-bottom

外边距(当前盒子与其他盒子之间的距离)


                       margin-top

  margin-left

  margin-right

  margin-bottom

常见的盒子比如:


div标签:可以理解为大盒子,独自占一行

span标签:可以理解为小盒子,一行可以有多个span标签

2.可以利用定位:

position  

static   静态定位,默认值,没有任何定位效果。

   

relative 相对定位,根据自身原本的位置进行定位

 不会脱离文档流,移动后原本的位置会留出空白

   

fixed   固定定位,根据浏览器窗口的位置进行定位

 脱离文档流,一般用于制作导航栏

   

absolute  绝对定位,根据最近的有定位方式的父元素进行定位

 脱离文档流,一般配合相对定位去使用

   

sticky   粘性定位,根据页面滚动的位置进行定位,

 类型于 相对定位 和 固定定位 的结合。

 

可以使用top, left, right, bottom四个方向的值去调整元素的位置

但需要强调一点,使用定位,尤其是postion和fixed时,会脱离文档流,所以一般配合z-index:;使用,得给元素设置层级,不然会出现在下滑的时候会覆盖导航栏这种情况。


3.使用transform


translate(x,y) 平移


一般我们这样用:transform:translateY(-70%)表示Y轴反方向平移70%


4.使用float


float :left / right

脱离文档流,向左或向右浮动,直到碰到另一个浮动元素或父元素的边框

浮动可能会造成高度坍塌

5.可以利用弹性容器


我们给一个容器,比如说给一个div加入display:flex;,那么这个div就会变成弹性容器


当这个div变成弹性容器时,那弹性容器对应的项目属性才有用,才会有效果。如果只给一个div加项目属性,而没有加display:flex;使之变为弹性容器,那写再多项目属性,也是不会有任何效果的。


总结5个常用的项目属性:

.div {
      display: flex;
    flex-direction:column-reverse;
       /* row (默认值):左→右
        row-reverse 主轴为x轴方向,起点在右端。
        column 主轴为垂直方向,起点在上沿。
        column-reverse 主轴为垂直方向,起点在下沿
        */
  }
.div {
    display: flex;
    width: 100%;
    flex-wrap: wrap-reverse;
         /* nowrap(默认):不换行。
            wrap:换行,第一行在上方。
        wrap-reverse:换行,第一行在下方。
          */
  }
.div {
    display: flex;
    width: 100%;
    flex-flow: row-reverse wrap;
        /* flex-direction属性值
           flex-wrap属性值 
                    */
      }
.div {
    display: flex;
    width: 100%;
    justify-content:space-around;
         /* flex-start(默认值):左对齐
          flex-end:右对齐
          center: 居中
          space-between:两端对齐,项目之间的间隔都相等。
          space-around:每个项目两侧的间隔相等。
                     */
        }
.div {
    display: flex;
    align-items:flex-start;
    height: 400px;
      /* 
      flex-start:y轴的起点对齐。
      flex-end:y轴的终点对齐。
      center:y轴的中点对齐。
            */
        }

5种方法去解决元素位置问题,诚然,如果掌握了弹性容器,就完全没有必要使用float,但是transform却还是非常常用的。

相关实践学习
基于ACK Serverless轻松部署企业级Stable Diffusion
本实验指导您在容器服务Serverless版(以下简称 ACK Serverless )中,通过Knative部署满足企业级弹性需求的Stable Diffusion服务。同时通过对该服务进行压测实验,体验ACK Serverless 弹性能力。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
前端开发
css元素实现垂直竖直万能居中
css元素实现垂直竖直万能居中
34 0
|
14天前
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
21 0
|
29天前
|
前端开发
css 块元素、行内元素、行内块元素相互转换
css 块元素、行内元素、行内块元素相互转换
72 0
|
3月前
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
28 5
|
3月前
|
前端开发
CSS - 使用 clip-path 轻松实现正六边形块状元素
如何使用CSS的`clip-path`属性来创建正六边形的块状元素。文章提供了详细的HTML和CSS代码示例,展示了如何实现六边形的布局和样式,并通过CSS动画增强了视觉效果。最终效果是一个包含文本的可交互的正六边形元素,当鼠标悬停时会改变颜色。
140 0
CSS - 使用 clip-path 轻松实现正六边形块状元素
|
3月前
|
存储 前端开发
为 HTML 元素指定 CSS 样式的方式
【8月更文挑战第24天】
72 0
|
3月前
|
前端开发
CSS动画新潮流:炫酷水波效果,让网页元素生动起来!
CSS动画新潮流:炫酷水波效果,让网页元素生动起来!
|
4月前
|
前端开发 容器
CSS对行级元素的影响
【7月更文挑战第4天】CSS对行级元素的影响
35 2
|
4月前
|
前端开发
css实用技巧——绝对定位元素的水平垂直居中
css实用技巧——绝对定位元素的水平垂直居中
47 2
|
4月前
|
前端开发
前端 CSS 经典:元素倒影
前端 CSS 经典:元素倒影
25 1