2024.4.5-[作业记录]-day10-CSS 布局模型(层模型)


个人主页:学习前端的小z
个人专栏:HTML5和CSS3悦读
本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论!


文章目录

    • 作业
  • 2024.4.5-学习笔记
    • 1 CSS定位
      • 1.1 相对定位 relative
      • 1.2 绝对定位 absolute
      • 1.3 子绝父相
      • 1,4 固定定位
      • 1.5粘性定位
    • 2 定位叠放次序
    • 3 居中技巧:

作业

在这里插入图片描述

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>定位</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}ul {list-style: none;}body {font: bolder 25px "Microsoft YaHei","Heiti SC",tahoma,arial,"Hiragino Sans GB","\5B8B\4F53",sans-serif;color: white;}.auto-center {width: 1000px;margin-left: auto;margin-right: auto;}.full-center {min-width: 1000px;}.text-center {text-align: center;}.clearfix::after {content: '';display: block;clear: both;}.top {background-color: #000079;}.top>.auto-center {line-height: 100px;background-color: #EA0000;}.banner {background-color: #003E3E;line-height: 300px;}.main {margin-top: 20px;background-color: #467500;}/*基于浮动实现两栏布局,左边200px,右侧自动填充剩余空间*/.content-one {position: relative;height: 500px;}.content-one>.left {width: 200px;background-color: #613030;line-height: 500px;/* float: left; */position: absolute;}.content-one>.right {/* 思考,right为绝对定位是否可以实现两栏布局? */margin-left: 200px;background-color: #336666;line-height: 300px;}/*基于浮动实现栏栅布局*/.content-tow {margin-top: 10px;}.content-tow>.list-item {float: left;width: 250px;height: 150px;box-sizing: border-box;background-color: #CAFFFF;text-align: center;line-height: 150px;color: black;border: 1px dashed #ccc;}/* 基于浮动实现三栏布局,左固定200px,右固定250px,中间自适应宽度(填充剩余空间) 注意:中间一栏必须放到最后*/.content-three {margin-top: 20px;position: relative;height: 300px;}.content-three>.left {position: absolute;width: 200px;left: 0;top: 0;/* float: left; */line-height: 300px;background-color: #F9F900;}.content-three>.right {position: absolute;width: 250px;right: 0;top: 0;/* float: right; */line-height: 300px;background-color: #A5A552;}.content-three>.middle {background-color: #5CADAD;margin-left: 200px;margin-right: 250px;}/* 基于浮动实现三栏布局,左固定200px,右固定250px,中间自适应宽度(填充剩余空间) 使用父级外边距实现*/.content-four {margin-top: 20px;padding-left: 200px;padding-right: 250px;}.content-four>.left {width: 200px;float: left;line-height: 300px;background-color: #F9F900;margin-left: -200px;}.content-four>.right {width: 250px;float: right;line-height: 300px;background-color: #A5A552;margin-right: -250px;}.content-four>.middle {background-color: #5CADAD;}.footer {margin-top: 20px;background-color: #642100;line-height: 200px;}.fixed-ad {position: fixed;width: 100px;height: 300px;right: 20px;top: 50%;margin-top: -150px;background-color: #4D0000;}.other {margin-top: 30px;background-color: #FF60AF;border: 1px dashed #ccc;position: relative;}.other .bottom {position: absolute;bottom: -10px;left: 20px;right: 20px;background-color: #B15BFF;}</style>
</head>
<body><div class="top"><div class="auto-center text-center">top</div></div><div class="banner text-center full-center">banner</div><div class="main auto-center"><div class="content-one"><div class="left text-center">left</div><div class="right text-center">right</div></div><ul class="content-tow clearfix"><li class="list-item">list-item1</li><li class="list-item">list-item2</li><li class="list-item">list-item3</li><li class="list-item">list-item4</li><li class="list-item">list-item5</li><li class="list-item">list-item6</li><li class="list-item">list-item7</li><li class="list-item">list-item8</li></ul><div class="content-three clearfix"><div class="left text-center">left</div><div class="right text-center">right</div><div class="middle text-center">middle</div></div><div class="content-four clearfix"><div class="left text-center">left</div><div class="right text-center">right</div><div class="middle text-center">middle</div></div></div><div class="other auto-center"><div>content</div><div>content</div><div>content</div><div>content</div><div>content</div><div class="bottom text-center">title</div></div><div class="footer text-center full-center">footer</div><div class="fixed-ad text-center">ad</div><div style="position: fixed;top: 200px;left: 50%;margin-left: 500px;width: 50px;height: 150px;background-color: #ccc;">版心固定</div>
</body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="首页" content="首页"><meta description="首页" content="首页"><title>首页</title><style>* {padding: 0;margin: 0;}.auto-center {width: 1000px;margin-left: auto;margin-right: auto;}.banner {margin-top: 30px;background-color: #35c3d9;padding: 20px 0;}.full-center {min-width: 1000px;}.banner .auto-center {position: relative;}.banner .title {position: absolute;right: 20px;top: 50%;width: 344px;line-height: 80px;margin-top: -80px;color: white;font-size: 56px;text-align: center;}.banner .backward, .banner .forward {position: absolute;top: 50%;margin-top: -30px  }.banner .backward {left: -80px;}.banner .forward {right: -80px;}</style></head><body><div class="banner full-center"><div class="auto-center"><img src="./images/2.png"><span class="title">查看我们最新时装</span><img class="backward" src="./images/1.png"><img class="forward" src="./images/3.png"></div></div></body>
</html>

在这里插入图片描述

2024.4.5-学习笔记

1 CSS定位

布局思路:盒子模型+浮动+定位+Flex布局
position不管浮动不浮动,都是static

1.1 相对定位 relative

只有当设置了定位,边偏移才有效果。偏移是基于原来的位置来移动的,显示效果甚至可以超出盒子,但原有标准流位置保留不变,相对定位并没有脱标。相当于块元素。

bottom向上走
top向下走
right向左走

1.2 绝对定位 absolute

开启了position: absolute,无论你是行内元素,行内块元素,块级元素,它都会变成行内块表现形式。
float也是。

(行内块)表现 形式:默认内容有多宽,有多高,那么该盒子就会有多宽有多高,若设置了width、height,就以width、height为准,设置margin-left,margin-right为auto是对标准流块级元素有效。

绝对定位的偏移是根据祖先元素是否定位(非static的标签元素)最近的一个或Document进行移动。

绝对定位,不仅脱标,还会遮盖标准流。

找不到定位元素,是基于文档第一屏当前窗口进行定位。一般不要写在外面,不要裸露外面。

绝对定位,浮动只是表现和行内块类似,但是它还是块级元素(display:block),因为它们会脱标没有在标准流上面,所以这种脱标的块级一般就是和行内块类似采用内容宽度,而不是横跨一行

1.3 子绝父相

子级是绝对定位,父级要用相对定位。
如果父元素不需要占有位置,则可以出现子绝父绝。

1,4 固定定位

position: fixed;

在这里插入图片描述

是基于浏览器可视窗口进行定位的。
脱标

1.5粘性定位

有top相当于固定定位
没有top相当于相对定位

2 定位叠放次序

z-index是针对于有定位(非static)的标签元素的堆叠顺序。
如果子级有层级堆叠,最好给它的定位父级设置一个有效的z-index的数值。就不会影响父级外的元素。

3 居中技巧:

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/595920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB实现数值求解高阶常微分方程组

一、高阶常微分方程组 高阶常微分方程是指包含多个高阶常微分方程的系统。这些方程通常涉及多个未知函数及其高阶导数。解决高阶常微分方程组通常比解决单个高阶常微分方程更为复杂&#xff0c;因为需要同时考虑多个方程和多个未知函数之间的关系。 一般来说&#xff0c;解决…

分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别

分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别 目录 分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别分类效果基本介绍模型描述程序…

电商-广告投放效果分析(KMeans聚类、数据分析-pyhton数据分析

电商-广告投放效果分析&#xff08;KMeans聚类、数据分析&#xff09; 文章目录 电商-广告投放效果分析&#xff08;KMeans聚类、数据分析&#xff09;项目介绍数据数据维度概况数据13个维度介绍 导入库&#xff0c;加载数据数据审查相关性分析数据处理建立模型聚类结果特征分析…

网站SSL证书是什么?有什么用处?

SSL证书是一种数字证书&#xff0c;主要用于保障互联网通信过程中的信息安全&#xff0c;特别是涉及敏感信息&#xff08;如个人身份、金融交易数据、登录凭据等&#xff09;的在线传输。以下是对SSL证书从原理、作用等方面进行的简单介绍&#xff1a; 原理&#xff1a; 1. 公…

WordPress建站教程:10步快速搭建个人网站

WordPress是一个广泛使用的内容管理系统&#xff08;CMS&#xff09;&#xff0c;凭借其用户友好的界面和大量可定制的主题和插件&#xff0c;为WordPress 提供了多功能性和灵活性&#xff0c;可用于创建各种类型的网站&#xff0c;包括个人博客、B2B企业网站、B2C外贸网站等&a…

python小练习(ps:可评论区讨论)

1. (单选题)海龟初始坐标为&#xff08;0&#xff0c;0&#xff09;&#xff0c;让海龟往坐标原点后方移动200像素的语句是 A. turtle.penup(200)B. turtle.fd(200)C. turtle.goto(200)D. turtle.bk(200) 2. (单选题)改变海龟画笔尺寸的是 A. turtle.penwidth()B. turtle.pen…

接口和抽象类的综合案例

题目要求&#xff1a; 代码框架&#xff1a; 代码实现&#xff1a; person类&#xff1a; package www.jsu.com;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name name;this.age age;}public …

C++ | Leetcode C++题解之第12题整数转罗马数字

题目&#xff1a; 题解&#xff1a; const string thousands[] {"", "M", "MM", "MMM"}; const string hundreds[] {"", "C", "CC", "CCC", "CD", "D", "DC&qu…

嵌入式系统初学者指南

什么是嵌入式系统&#xff1f; 嵌入式系统是一种独立的、基于微处理器的计算机系统。您可以将其视为大型系统的一部分的微型计算机。如今&#xff0c;从洗碗机到波音 747&#xff0c;几乎所有“电子”产品内部都有嵌入式系统。但是&#xff0c;嵌入式系统与笔记本电脑或手机不…

Minikube本地搭建单节点Kubernetes集群

1、什么是 Minikube Minikube 是一个开源工具&#xff0c;旨在为开发者提供一种便捷的方式在本地环境中搭建单节点的 Kubernetes 集群。它主要用于开发、测试和学习 Kubernetes 应用程序&#xff0c;无需依赖大型的硬件资源或复杂的多节点集群配置。minikube 使用轻量级虚拟化技…

ES10 学习

文章目录 1. Object.fromEntries()2. trimStart() 和 trimEnd()3. 数组的flat() 和flatMap()4. Symbol 对象的description 属性5. try ... catch(e){} 1. Object.fromEntries() Object.fromEntries() 方法允许你轻松地将键 值对列表转换为对象 let arr [["name",&qu…

深入浅出 -- 系统架构之负载均衡Nginx反向代理

一、Nginx反向代理-负载均衡 首先通过SpringBootFreemarker快速搭建一个WEB项目&#xff1a;springboot-web-nginx&#xff0c;然后在该项目中&#xff0c;创建一个IndexNginxController.java文件&#xff0c;逻辑如下&#xff1a; Controller public class IndexNginxControl…