首页 > 其他分享 >前端开发学习——CSS定位

前端开发学习——CSS定位

时间:2024-09-04 21:53:19浏览次数:12  
标签:定位 盒子 父级 top 50% position 前端开发 CSS

一、定位的基本介绍

1、网页常见的布局方式

1.标准流

  1. 块级元素独占一行——垂直布局
  2. 行内元素/行内块元素一行显示多个——水平布局

2.浮动

  1. 可以让原本垂直布局的块级元素变成水平布局

3.定位

  1. 可以让元素自由的摆放在网页的任意位置
  2. 一般用于盒子之间的层叠情况 

2、定位的常见应用场景

  1. 可以解决盒子与盒子之间的层叠问题(定位之后的元素层级最高,可以层叠在其他盒子的上面)
  2. 可以让盒子始终固定在屏幕的某个位置

二、定位的基本使用 

1、使用定位的步骤 

1.设置定位方式

  • 属性名:position
  • 常用属性值:
定位方式属性值
静态定位static
相对定位relative
绝对定位absolute
固定定位fixed

 2.设置偏移量

  • 偏移值设置分为两个方向,水平和垂直方向各选一个使用即可
  • 选取的原则一般是就近原则 
方向属性名属性值含义
水平left数字+px距离左边的距离
水平right数字+px距离右边的距离
垂直top数字+px距离上边的距离
垂直bottom数字+px距离下边的距离

 三、静态定位

 介绍:静态定位即标准流

代码:position:static;

特点:写上代码与不写无异

四、相对定位

 介绍:自恋型定位,相对于自己之前位置进行移动

代码:position:relative;

特点:

  1. 需要配合方位属性实现移动
  2. 相对于自己原来位置进行移动 
  3. 在页面中占位置——没有脱标

应用场景:

  1. 配合绝对定位组CP(子绝父相)
  2. 用于小范围的移动
 /* 相对定位 */
position: relative;
left: 100px;
top: 200px;
/* 如果left和right都有,以left为准,垂直方向以top为准 */
right: 200px;
bottom: 400px;
/* 1.占有原来的位置 (不脱标)
2.仍然具有标签原有的显示特点
3.改变位置参考自己原来的位置 */

 五、绝对定位

1、定位介绍

介绍:拼爹型定位,相对于非静态定位的父元素进行定位移动

代码:position:absolute;

特点:

  1. 需配合方位属性实现移动
  2. 默认相对于浏览器可视区域进行移动
  3. 在页面中不占位置——脱标

应用场景

  1. 配合绝对定位组CP(子绝父相)
 /* 绝对定位
先找已经定位的父级,如果由这样的父级就以这个父级为参照物进行定位
有父级,但父级没有定位,以浏览器窗口为参照物进行定位 */
position: absolute;
left: 0;
top: 0;
/* 1.脱标,不占位
2.改变标签的显示模式特点:在一行共存,宽高生效 */

2、子绝父相

    <div class="father">
        <div class="son">
            <div class="sun"></div>
        </div>
    </div>
        .father {
            width: 400px;
            height: 400px;
            background-color: pink;
        }
        .son {
            /* 相对,绝对 */
            /* 父级相对定位,自己绝对定位——子绝父相 */
            
            position: relative;
            right: 100px;

            width: 300px;
            height: 300px;
            background-color: skyblue;
        }
        .sun {
            position: absolute;
            right: 20px;
            top: 30px;

            width: 200px;
            height: 200px;
            background-color: green;
        }
 /* 绝对定位查找父级的方式:就近找定位的父级,如果逐层查找不到这样的父级,就以浏览器窗口定位 */

3、子绝父相—居中

需求:使用子绝父相,让子盒子在父盒子中水平居中(父子元素任意宽度下都能实现)

使盒子在浏览器中位置居中的css代码如下:

            /* 1.绝对定位的盒子不能使用左右margin auto居中 */
            position: absolute;
            /* margin: 0 auto; */

            /* left:50% 使盒子移动到浏览器中间偏右的位置 */
            left: 50%;
            /* 让盒子往左移盒子宽度一半的距离 */
            /* 因为浏览器宽高都没有范围,margin-right取值为多少都不会使盒子向右移 */
            margin-left: -200px;
            top: 50%;
            margin-top: -200px;

            width: 400px;
            height: 400px;
            background-color: pink;

4、位移居中

 需求:如果盒子的宽高度为奇数,则上述方法无法使其完全居中。

代码:transform: translate(-50%,50%);

            position: absolute;
            left: 50%;
            top: 50%;
            /* 位移:自己宽度高度的一半 */
            transform: translate(-50%,50%);
            
            width: 301px;
            height: 300px;
            background-color: pink;

六、固定定位

介绍:死心眼型定位,相对于浏览器进行定位移动

代码:position:fixed;

特点:

  1. 需配合方位属性实现移动
  2. 相对于浏览器可视区域进行移动
  3. 在页面中不占位置—脱标

应用场景:

  1. 让盒子固定在屏幕中的某个位置 
            /* 固定在网页的右上角 */
            position: fixed;
            right: 0;
            top: 0;

            width: 200px;
            height: 200px;
            background-color: black;

 七、元素的层级关系

1、元素层级问题

不同布局方式元素的层级关系:

  • 定位 > 浮动 > 标准流

不同定位之间的层级关系:

  • 相对、绝对、固定默认层级相同
  • 此时HTML中写在下面的元素层级更高,会覆盖上面的元素(后来者居上)
  • z-index:整数;取值越大,显示顺序月考上,z-index的默认值是0 (z-index必须配合定位使用)

标签:定位,盒子,父级,top,50%,position,前端开发,CSS
From: https://blog.csdn.net/2302_80311379/article/details/141901736

相关文章

  • 大二第一个月计划以及html,css初步
    1.当我学习完成java的面向对象之后,准备自学一部分前端的知识即css,html这两个前端的基础技术,在第一个月到下个月四号争取将课程学到4/5.打算在下个月可以开到mysql2.初步了解html这是一种标签语言用来搭建浏览器界面,可以插入文字,图片,音频,视屏.3.下载了vscode,和使用浏览器......
  • CSS学习8[重点]
    盒子模型一、网页布局二、盒子边框(box-border)三、内边距(padding)四、外边距(margin)五、外边距合并一、网页布局CSS三大模块:盒子,浮动,定位。盒子模型是把html中每个元素看成一个矩形的盒子。每个矩形由元素内容、边距、边框组成。二、盒子边框(box-border)常用......
  • CSS学习12
    清除浮动前言一、清除浮动的本质二、清除浮动的方法前言为什么要清除浮动?浮动不占用原文档流的位置,可能会对后面的元素排版产生影响。因此需要在该元素中清除浮动,清除浮动后造成的影响。一、清除浮动的本质为了解决父级元素<html> <head> <style> *{ pa......
  • css常见布局
    两列布局1、flex2、float3、position:absolute三列布局1、flex2、float(圣杯布局,双飞翼布局)3、position:absolute圣杯布局1、注意html结构是main->left->right把重要的内容放在前面,有利于seo2、父级padding3、三个元素都是float<divclass="container"> <div......
  • 探索CSS奥秘:深入解析版式布局与字体样式的应用技巧
    在现代网页设计中,CSS(层叠样式表)扮演着至关重要的角色,它不仅能美化网页,还能通过精细的版式布局和字体样式设计,为用户带来更好的浏览体验。无论是新手设计师还是经验丰富的前端开发者,深入理解和掌握CSS的应用技巧,都是必不可少的技能。本文将带你一起探索CSS在版式布局与字体样式中的......
  • CSS调试 (1)
    https://www.bilibili.com/video/BV1KM4y1G7EF/内容转自【浏览器调试工具精讲】ChromeDevTools精讲,前端必看!     橙色:外边距蓝色:本体。 绿色:内边距。  CTRL+F可以搜索 输入某一个string或者css,section#someidxpath: //section/p   编辑样式        ......
  • Vue前端开发 转 React 指南
    JSX先介绍React唯一的一个语法糖:JSX。理解JSX语法并不困难,简单记住一句话,遇到{}符号内部解析为JS代码,遇到成对的<>符号内部解析为HTML代码。当你写下这个React组件时:importReactfrom'react';functionMyComponent(props){return<div>{props.hello}<......
  • css 中高度100%和100vh
    ‌100%和100vh的区别‌‌12在‌CSS中,height:100%表示元素的高度将与其父元素的高度相同。但是,要使height:100%生效,父元素必须具有明确定义的高度,例如固定高度值或相对定位。如果父元素的高度未被明确定义,那么height:100%将不会生效。另一方面,height:100vh表示元素的高度将占......
  • 全球多模多频卫星定位芯片行业市场发展预测报告-聚亿信息咨询
    【出版机构】:聚亿信息咨询 (广东) 有限公司聚亿信息咨询(Market Monitor Global)调研机构最新发布了【多模多频卫星定位芯片市场调研报告,全球行业规模展望2024-2030】。本市场调研报告为读者提供专业且深入的产品销量、收入、价格、增长率、市场占有规模及竞争对手等数据分析,包......
  • 分享10 个功能强大的单行 CSS 布局技巧 转载
    现代CSS布局允许开发人员只需敲击几下键盘即可编写有意义且强大的样式规则。今天的内容主要是想和大家分享10个功能强大的CSS布局,它们做了一些非凡的工作。01.Supercenter:place-items:center对于我们的第一个“单行”布局,让我们解决CSS中最大的谜团:居中。我想让你......