首页 > 其他分享 >前端——浮动+定位样式

前端——浮动+定位样式

时间:2024-09-22 17:22:51浏览次数:3  
标签:浮动 定位 float 样式 前端 元素 position left

一、浮动float——浮动是会使盒子脱离文档流

添加了浮动的元素

1.原本的位置不占用    脱离文档流  

2.设置了浮动  就不支持auto自适应居中

3.文字会感受到浮动  跟着进行文字环绕效果    而不是浮动元素覆盖文字  文字和浮动处于同一层的关系  

4.可以使行内元素支持  高宽设置  也支持上下外边距    

5.可以按照自己设置 方向来进行移动  

写法: 选择器{

    float:属性值;

}

1.默认值: 没有浮动  none  

2.left  元素向左浮动  

3.right 元素向右浮动  

/* 元素向左浮动 */

            /* float: left; */

            /* 元素向右浮动 */

            float: right;

清楚浮动样式:

常用于解决父级高度塌陷问题:父级盒子不设置高度,默认是由里面的子级撑开,但是子级设置了浮动元素,浏览器在计算高度时不会把添加了浮动元素的子元素算进去 。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .wrap{
            width: 1000px;
            /* height: 500px; */

            /* overflow: hidden; */
            background-color: skyblue;
        }

        .box1{
            float: right;
            width: 300px;
            height: 300px;
            background-color: green;
        }

        .box2{
            float: left;
            width: 350px;
            height: 400px;
            background-color: pink;
        }

        .box3{
            float: left;
            /* float: right; */
            width: 350px;
            height: 450px;
            background-color: red;
        }

        .footer{
            width: 1000px;
            height: 500px;
            background-color: purple;
        }

        .clear{
            /* 清除浮动样式 */
            /* clear: left; 清除左浮动 */
            /* clear: right;  */

            /* 同时清除左右浮动 */
            /* clear: both; */
        }

        /* 用伪元素清除 wrap盒子的浮动 */
        .wrap::after{
            /* 开启伪元素  key */
            content: '';
            /* 伪元素是行内元素   变成块级元素  */
             display: block;
            /* 同时清除左右浮动 */
            clear: both;
        }
    </style>
</head>
<body>
      <div class="wrap">
           <div class="box1">左侧盒子</div>
           <div class="box2">中间盒子</div>
           <div class="box3">右侧盒子</div>

           <!-- 清除浮动样式 -->
           <div class="clear">

           </div>
      </div>

      <div class="footer">
         俺是底部内容盒子 
      </div>
</body>
</html>

实现效果:

二、定位样式——position

1. 相对定位 position: relative;

a.不会脱离文档流  以自身左上角的位置来进行移动    原本的位置会继续保留  

b.需要通过方位值来移动  

c.不会影响元素自身    给块级元素设置相对定位 是支持auto自适应居中

 /* 相对定位 */

            position: relative;

2. 绝对定位

a.脱离文档流   原地起飞  

b.参考位置  以最近一个父级定位属性来移动 (如果说找不到最近的一个定位父级  那就找body   祖先元素 )

c.绝对定位 一般配合相对定位来使用    来达到一个  子绝父相  (父相子绝)的效果   子级是绝对定位  父级是相对定位    子级去参考 父级的相对定位来移动  

d.可以让行内元素支持高宽    元素高宽默认不写为0    暂时不支持 auto自适应居中  (单独写不生效)

  /* 绝对定位   */

             position: absolute;

3. 固定定位  position: fixed;

a.脱离文档流    参考位置是以浏览器窗口为准 来进行移动

b.使用方位值来移动   生效  

c.margin:auto 失效  

     /* 固定定位 */

                position: fixed;

4. 粘性定位     position: sticky;

    /* 粘性定位    */

                position: sticky;

快速让子级盒子  在父级盒子里面  水平居中效果:

<!-- 给子级设置 -->

/* 第一种方法   */

/* position: absolute;

left: 0px;

right: 0px;

top: 0px;

bottom: 0px;

margin: auto; */

/* 第二种 */

/* position: absolute;

left: 50%;

top: 50%; */

/* 负自身宽度的一半 */

/* margin-left: -100px; */

/* 负自身高度的一半 */

/* margin-top: -100px; */

/* 这个写法相对于第二种    简写  优化写法 */

position: absolute;

left: calc(50% - 100px);

top: calc(50% - 100px);

5.定位层级  z-index     解决同级定位元素的覆盖问题  数字越大 越优先显示  

- 取值  数字越大越优先   默认值是 0/auto auto: 指的是你没写值  

- z-index  层数只允许写了定位属性元素使用  

注意点:  方位值(left  top  right   bottom ) 和  定位层级(z-index)  要配合定位属性使用

标签:浮动,定位,float,样式,前端,元素,position,left
From: https://blog.csdn.net/qq_53256193/article/details/142419972

相关文章

  • 前端——表单标签样式
    1.form表单标签 块级元素  action:表单提交地址   method:表单提交格式 https网络协议请求格式: post/get等  通常:post方式是发送数据 而get是拿取数据   name:表单的名称  target:提交完表单之后 你的新页面在哪里打开2.in......
  • 前端——元素类型+文字样式
    一、元素类型1.块级元素>块级标签:div p h1~h6 ul ol li dldtddhrbr等 还有表格标签 table特征:1.独占一行 不会共享一行的位置 2.不设置宽度 默认是继承父级宽度100% 结构上没有父级那就是浏览器 3.高度不设置默认由内容撑开 ......
  • 前端表单布局丨简洁大气的登录表单二(源码)
    效果展示:HTML: <body><divclass="container"><divclass="heading">SignIn</div><formaction=""class="form"><inputrequired=""class="input"t......
  • 【前端】ES6:模块化
    文章目录1Module语法1.1写法1:exportdefault1.2写法2:export1.3写法3:export方法1.4混合写法2NodeJS中的模块化2.1写法1:NodeJS写法2.2写法2:ES6写法2.3写法3:修改文件后缀名JavaScript有两种模块:一种是ES6模块,简称ESM,另一种是CommonJS模块,简称CJS。CommonJS......
  • 【前端】ES6:Class语法和Class继承
    文章目录1Class语法1.1类的写法1.2getter与setter1.3静态属性和静态方法2Class继承1Class语法1.1类的写法classPerson{constructor(name,age){this.name=name;this.age=age;}say(){console.log(this.name,......
  • 前端框架对比和选择与未来发展趋势
    在进行前端框架对比和选择时,可以从以下几个方面考虑:一、流行度Vue.js非常流行,拥有庞大的社区和丰富的生态系统。许多开发者选择Vue是因为它的易学性和灵活性。社区活跃意味着有大量的教程、插件和解决方案可供参考,遇到问题时容易找到帮助。React同样极为流行,被广泛应用......
  • 前端常见面试-首页性能提升、项目优化
     首页性能提升Vue首页性能提升是Vue应用开发中非常重要的一环,它直接影响用户体验和应用的加载速度。以下是一些关键的Vue首页性能提升策略:1.代码分割与懒加载路由懒加载:利用Webpack的动态导入(import())特性,实现路由级别的代码分割。这样,只有当用户访问某个路由时,其对应的组件代码......
  • 前端尝试
    这是前端挑战v24.09.04的提交内容,美化我的标记:space我建造了什么我构建了一个以太空为主题的登陆页面,提供有关太空探索的信息。目标是创造一个有吸引力的简约设计,突出太空历史、当前任务、未来任务等的关键方面。该页面包括主页、关于、历史、当前任务、未来任务、调查问卷和联......
  • 前端框架的隐性成本
    我们都希望我们的网站看起来有吸引力,并且在多种设备和屏幕尺寸上感觉快速且响应灵敏。前端生态系统中开发了一些常用工具来帮助构建此类界面。最常见和众所周知的是react,还有许多其他人共享这个空间,例如svelte、solidjs、angular、vue、qwik等。所有这些都是令人印象深刻的工程......
  • 前端框架Vue应用
    一、组件化开发概念:一个页面可以拆分一个个组件,每个组件有自己独立的结构、样式、行为。好处:便于维护,利于复用,提升开发效率。分类:普通组件、根组件。根组件:整个应用最上层组件,包裹所有小组件。组件注册和使用组件注册方式有局部注册和全局注册。局部注册是只能在注册的组......