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;


目录
相关文章
|
15天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]细节与使用经验
本文总结了前端开发中的一些重要细节和技巧,包括CSS选择器、定位、层级、全局属性、滚轮控制、轮播等。作者以纯文字形式记录,便于读者使用<kbd>Ctrl + F</kbd>快速查找相关内容。文章还提供了示例代码,帮助读者更好地理解和应用这些知识点。
38 1
[HTML、CSS]细节与使用经验
|
16天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]知识点
本文涵盖前端知识点扩展、HTML标签(如video、input、canvas)、datalist和details标签的使用方法,以及CSS布局技巧(如margin、overflow: hidden和动态height)。文章旨在分享作者的学习经验和实用技巧。
29 1
[HTML、CSS]知识点
|
1月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。
|
11天前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
|
8天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
48 1
|
12天前
HTML 统一资源定位器(Uniform Resource Locators)3
URL字符编码是指将URL中非ASCII字符转换为有效的ASCII格式的过程。URL只能使用ASCII字符集,因此需要对超出该集合的字符进行编码。URL编码使用“%”加上两位十六进制数来表示非ASCII字符,空格通常被编码为“+”。例如,€编码为%80,£编码为%A3。更多信息可参见URL编码参考手册。
|
12天前
|
安全 数据安全/隐私保护
HTML 统一资源定位器(Uniform Resource Locators)2
常见的URL Scheme包括:http(超文本传输协议,用于普通网页,不加密)、https(安全超文本传输协议,用于安全网页,加密信息交换)、ftp(文件传输协议,用于文件的上传和下载)、file(用于访问本地计算机上的文件)。
|
12天前
HTML 统一资源定位器(Uniform Resource Locators)1
统一资源定位器(URL)是用于标识互联网上资源位置的标准格式。URL通常由方案、主机、域名、端口、路径和文件名组成,如 `http://www.runoob.com/html/html-tutorial.html`。大多数用户通过域名访问网站,因为域名比IP地址更容易记忆。URL在Web浏览器中用于请求页面,通过 `&lt;a&gt;` 标签实现链接跳转。
|
13天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
26 3
下一篇
无影云桌面