首页 > 编程语言 >黑马程序员前端-HTML+CSS之定位(position)的应用

黑马程序员前端-HTML+CSS之定位(position)的应用

时间:2023-01-29 10:40:47浏览次数:38  
标签:定位 盒子 前端 程序员 HTML position 黑马 CSS


 前端学习笔记教程不定期更新中,传送门:

  • ​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​
  • ​​黑马程序员前端-CSS入门总结​​
  • ​​黑马程序员前端-CSS之emmet语法​​
  • ​​黑马程序员前端-CSS的复合选择器​​
  • ​​黑马程序员前端-CSS的显示模式​​
  • ​​黑马程序员前端-CSS背景​​
  • ​​黑马程序员前端-CSS三大特性:叠层性、继承性、优先级​​
  • ​​黑马程序员前端–CSS盒子模型以及PS基础​​
  • ​​黑马程序员前端-CSS之圆角边框、盒子阴影、文字阴影​​
  • ​​黑马程序员前端-CSS之浮动知识点汇总​​
  • ​​黑马程序员前端-CSS前端基础了解PS切图​​
  • ​​黑马程序员前端-CSS属性书写顺序(重点)​​
  • ​​黑马程序员前端-CSS定位的4种分类​​
  • ​​黑马程序员前端-CSS练手之学成在线页面制作​​

下面开始继续更新内容,前面链接大家用来查漏补缺哦。
 

一、固定定位小技巧

固定在版心左侧位置。

小算法:

1.让固定定位的盒子 left: 50%. 走到浏览器可视区(也可以看做版心) 的一半位置。

2.让固定定位的盒子 margin-left: 版心宽度的一半距离。 多走 版心宽度的一半位置

就可以让固定定位的盒子贴着版心右侧对齐了。

<img src='images/1571388901848.png' width='350'>

<img src='images/1571389108805.png' width='300'>

案例效果:

黑马程序员前端-HTML+CSS之定位(position)的应用_前端自学

<style>
.w {
width: 800px;
height: 1400px;
background-color: pink;
margin: 0 auto;
}
.fixed {
position: fixed;
/* 1. 走浏览器宽度的一半 */
left: 50%;
/* 2. 利用margin 走版心盒子宽度的一半距离 */
margin-left: 405px;
width: 50px;
height: 150px;
background-color: skyblue;
}
</style>
</head>
<body>
<div class="fixed"></div>
<div class="w">版心盒子 800像素</div>

</body>

二、堆叠顺序(z-index)

  • 在使用定位布局时,可能会出现盒子重叠的情况。此时,可以使用 z-index 来控制盒子的前后次序 (z轴)
  • 语法:

​选择器 { z-index: 1; }​

  • ​z-index​​ 的特性如下:
  1. 属性值正整数、负整数或 0,默认值是 0,数值越大,盒子越靠上;
  2. 如果属性值相同,则按照书写顺序,后来居上
  3. 数字后面不能加单位

注意:​​z-index​​ 只能应用于相对定位、绝对定位固定定位的元素,其他标准流、浮动静态定位无效。

  • 应用 ​​z-index​​ 层叠等级属性可以调整盒子的堆叠顺序。如下图所示:

黑马程序员前端-HTML+CSS之定位(position)的应用_前端自学_02

三、定位(position)的扩展

3.1 绝对定位的盒子居中

注意:加了 绝对定位/固定定位的盒子不能通过设置margin: auto​  设置水平居中
但是可以通过以下计算方法实现水平和垂直居中,可以按照下图的方法:

黑马程序员前端-HTML+CSS之定位(position)的应用_html_03

  1. ​left: 50%;​​:让盒子的左侧移动到父级元素的水平中心位置
  2. ​margin-left: -100px;​​:让盒子向左移动自身宽度的一半

盒子居中定位示意图

黑马程序员前端-HTML+CSS之定位(position)的应用_前端自学_04

4.2 定位特殊特性

绝对定位和固定定位也和浮动类似。

1.行内元素添加绝对或者固定定位,可以直接设置高度和宽度。

2.块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。

前面我们讲过, display 是 显示模式, 可以改变显示模式有以下方式:

  • 可以用inline-block 转换为行内块
  • 可以用浮动 float 默认转换为行内块(类似,并不完全一样,因为浮动是脱标的)
  • 绝对定位和固定定位也和浮动类似, 默认转换的特性 转换为行内块。

所以说, 一个行内的盒子,如果加了浮动固定定位和绝对定位,不用转换,就可以给这个盒子直接设置宽度和高度等。

4.3 脱标的盒子不会触发外边距塌陷

浮动元素、绝对定位(固定定位)元素的都不会触发外边距合并的问题。 (我们以前是用padding border overflow解决的)

也就是说,我们给盒子改为了浮动或者定位,就不会有垂直外边距合并的问题了。

4.4 绝对定位(固定定位)会完全压住盒子

浮动元素不同,只会压住它下面标准流的盒子,但是不会压住下面标准流盒子里面的文字(图片)

但是绝对定位(固定定位) 会压住下面标准流所有的内容。

浮动之所以不会压住文字,因为浮动产生的目的最初是为了做文字环绕效果的。 文字会围绕浮动元素

黑马程序员前端-HTML+CSS之定位(position)的应用_前端_05


黑马程序员前端-HTML+CSS之定位(position)的应用_前端框架_06


标签:定位,盒子,前端,程序员,HTML,position,黑马,CSS
From: https://blog.51cto.com/u_8238263/6025413

相关文章

  • 黑马程序员前端-CSS练手之学成在线页面制作
     前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端-CSS入门总结​​​​黑马程序员前端-CSS之emmet语法​......
  • 10、CSS权威指南--第 6 章(p213)文本属性
    文本和字体之间有什么区别呢?简单而言,文本是内容,而文字是用于显示内容的。6.1 缩进和行内对齐块级方向指当前书写模式放置块级元素的方向。行内方向指块级元素中行内元......
  • 黑马程序员前端-CSS背景:颜色、图片、平铺、背景图片位置、背景图像
    前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端-CSS入门总结​​​​黑马程序员前端-CSS之emmet语法​​......
  • 黑马程序员前端-CSS的显示模式
    前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端-CSS入门总结​​​​黑马程序员前端-CSS之emmet语法​​......
  • 黑马程序员前端-CSS的复合选择器
    前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端专栏css入门总结​​​​CSS之emmet语法​​上一期的CSS入......
  • 黑马程序员前端-CSS之emmet语法
    前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端专栏css入门总结​​上一期的CSS入门笔记没有更新完,最后一......
  • html5 二进制文件操作基础
    Blob、ArrayBuffer、File、fileReader、formData这些名词总是经常看到,这些名词里,Blob、ArrayBuffer、File可以归为一类,它们都是数据;而fileReader算是一种工具,用来读取数据......
  • html标签
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"c......
  • CSS
    CSS <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><style>h1{color:royalblue;}</style>......
  • jquery获取文档的或某个元素的html 闲的没事凑活事的教学
    //获取文档的//这个是获取本文档可能被扩展插件和广告屏蔽器污染的html$(":root").prop("outerHTML");//利用promise异步获取未被污染的文档//我这么写是为了方便......