Python HTML和CSS 9:定位布局

简介: Python HTML和CSS 9:定位布局

总体内容


1、文档流的介绍

2、关于定位的属性以及使用

3、案例的展示


一、文档流的介绍



文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。


二、关于定位的属性以及使用


  • 2.1、用css的position属性来设置元素的定位类型,postion的设置项如下:
  • <1>、relative 生成 相对定位 元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。


image.png


.box1{
     background-color: pink;
     position: relative;
     left: 50px;
     top: 50px;
}


提示:position 要配合 leftrighttopbottom 来使用


  • <2>、absolute 生成 绝对定位 元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。


image.png


// 父级样式
.con{
     width: 400px;
     height: 400px;
     border: 1px solid #000;
     margin: 50px auto;
     position: relative;
 }
.box1,.box2{
     width: 300px;
     height: 100px;
     margin: 10px;
}
.box1{
    background-color: pink;
    /* 2、绝对定位 */
    position: absolute;
    left: 50px;
    top: 50px;
 }


提示:在设置为 position: relative; 后,就会相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。,上图我们对 box1的父级元素进行了定位


  • <3>、fixed 生成 固定定位 元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位


image.png

.box1{
     background-color: pink;
     /* 3、固定定位 */
     position: fixed;
     left: 50px;
     top: 50px;
 }


  • <4>、static 默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性。
  • <5>、inherit 从父元素继承 position 属性的值。


  • 2.2、定位元素的偏移:定位的元素还需要用left、right、top或者bottom来设置相对于参照元素的偏移值。


提示: left 是相对于左边向右偏移,right 是相对于右边向左偏移,top 是相对于上面向下偏移,bottom 是相对于下面向上偏移。


  • 2.3、定位元素层级 :定位元素是浮动的正常的文档流之上的,可以用 z-index 属性来设置元素的层级


在元素设置定位后,层级的是按照标签的先后顺序来排列的,最后面的标签在显示的时候再最上面,我们可以使用 z-index 属性 来改变层级顺序的问题,默认的层级是小于 10的,如下例子


image.png

<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
     <title>定位的层级</title>
     <style type="text/css">
        .con{
             width: 400px;
             height: 400px;
             border: 1px solid #000;
             margin: 50px auto;
             position: relative;
         }
        .con div{
             width: 90px;
             height: 90px;
             position: absolute;
         }
         .box1{
             background-color: pink;
             left: 20px;
             top: 20px;
             z-index:10;
         }
         .box2{
             background-color: red;
             left: 40px;
             top: 40px;
         }
         .box3{
             background-color: green;
             left: 60px;
             top: 60px;
         }
         .box4{
             background-color: yellow;
             left: 80px;
             top: 80px;
         }
     </style>
</head>
<body>
      <div class="con">
          <div class="box1">box1</div>
          <div class="box2">box2</div>
          <div class="box3">box3</div>
          <div class="box4">box4</div>
      </div>
</body>
</html>


提示:我们可以个每个盒子的样式设置  z-index 来改变其展示的层级顺序


  • 2.4、定位元素特性:绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素


三、案例的展示



  • 3.1、制作如下图的页面


image.png4


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定位练习一</title>
    <style type="text/css">
        .con{
            width: 100px;
            height: 100px;
            background-color: gold;
            margin: 50px auto;
            /* 相对定位 */
            position: relative;
            border-radius: 10px;
        }
        .box1{
            width: 28px;
            height: 28px;
            background-color: red;
            color: white;
            text-align: center;
            line-height: 28px;
            font-size: 16px;
            /* 绝对定位 */
            position: absolute;
            left: 86px;
            bottom: 86px;
            /* 圆角的设置 */
            border-radius: 14px;
        }
    </style>
</head>
<body>
    <div class="con">
        <div class="box1">10</div>
    </div>
</body>
</html>


  • 3.2、固定在顶部的水平居中的菜单


image.png

!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>定位练习二</title>
   <style type="text/css">
       .con{
           width: 400px;
           height: 80px;
           background-color: yellow;
           position: fixed;
           left: 50%;
           margin-left: -200px;
       }
       .con div{
           line-height: 80px;
           text-align: center;
       }
       div{
           text-align: center;
       }
   </style>
</head>
<body>
    <div class="con">
        <div>固定在顶部的水平居中的菜单</div>
    </div>
</body>
</html>


提示:上述代码要注意居中的技巧

  • 水平居中


left: 50%;
margin-left: -盒子宽度的一半px;
  • 垂直居中

top: 50%;
margin-top: -盒子高度的一半px;


目录
相关文章
|
6月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
506 1
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
582 1
|
8月前
|
自然语言处理 前端开发 JavaScript
Playwright系列课(2) | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战指南
本文是Playwright系列第二课,详解元素定位四大核心技术:CSS选择器、文本定位、XPath和语义化定位,结合实战演示各方法应用场景。重点解析Playwright智能定位器(Locator)的独特优势——自动等待与重试机制,通过预检元素可操作性(可见/可点击)有效规避网络延迟导致的脚本失效,显著提升自动化测试稳定性。
|
11月前
|
索引 Python
Python错误 - 'list' object is not callable 的问题定位与解决
出现编程问题并不可怕,关键在于是否可以从中学习与成长。遇到'list' object is not callable这样的错误,我们不仅需要学会应对,更需要了解其背后的原因,避免类似的问题再次出现。记住,Python的强大功能和灵活性同时也意味着我们需要对其理解更准确,才能更好的使用它。
1343 70
|
8月前
|
数据采集 机器学习/深度学习 边缘计算
Python爬虫动态IP代理报错全解析:从问题定位到实战优化
本文详解爬虫代理设置常见报错场景及解决方案,涵盖IP失效、403封禁、性能瓶颈等问题,提供动态IP代理的12种核心处理方案及完整代码实现,助力提升爬虫系统稳定性。
483 0
|
11月前
|
前端开发 JavaScript API
Webview+Python:用HTML打造跨平台桌面应用的创新方案
本文系统介绍了使用PyWebView库结合HTML/CSS/JavaScript开发跨平台桌面应用的方法。相比传统方案(如PyQt、Tkinter),PyWebView具备开发效率高、界面美观、资源占用低等优势。文章从技术原理、环境搭建、核心功能实现到性能优化与实战案例全面展开,涵盖窗口管理、双向通信、系统集成等功能,并通过“智能文件管理器”案例展示实际应用。适合希望快速构建跨平台桌面应用的Python开发者参考学习。
1408 1
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href=&#39;example.com&#39;]` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
406 7
WK
|
开发者 Python
Python代码布局规范有哪些
这段内容介绍了Python代码布局的规范,涵盖缩进、空行、行宽、空格使用、注释及顶级定义间的空行等方面,强调使用空格缩进、限制行宽、操作符两侧加空格、简洁注释等实践,旨在提升代码可读性和一致性,便于维护与理解。遵循这些规范能帮助开发者编写更清晰、整洁且易读的Python代码。
WK
309 2
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
718 0
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
123 0

热门文章

最新文章

推荐镜像

更多