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却还是非常常用的。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
109 1
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
225 0
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
144 1
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
143 1
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
77 1
|
9月前
|
前端开发 JavaScript
如何使用CSS过渡实现页面元素的淡入淡出效果?
如何使用CSS过渡实现页面元素的淡入淡出效果?
426 79
|
前端开发 JavaScript
如何利用 CSS3 动画实现元素的淡入淡出效果?
在上述代码中,定义了一个名为 `fade-in` 的CSS类,其初始透明度为0,并设置了淡入的过渡效果。当通过JavaScript为元素添加 `active` 类时,元素的透明度变为1,实现淡入效果;当再次点击按钮移除 `active` 类时,元素又会逐渐淡出。通过这种方式,可以根据用户的操作灵活地控制元素的淡入淡出效果。
1501 60
|
数据采集 前端开发 JavaScript
捕捉页面的关键元素:用CSS选择器与Puppeteer自动抓取
本文介绍了如何使用 Puppeteer 结合 CSS 选择器抓取动态网页中的关键元素,以亚航网站的特价机票信息为例,通过设置代理 IP、User-Agent 和 Cookie 等技术手段,有效提升爬虫策略,实现高效、稳定的爬取。
340 5
捕捉页面的关键元素:用CSS选择器与Puppeteer自动抓取
|
12月前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
294 7
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
97 0