当前位置: 首页 > news >正文

网页布局三大核心:盒子模型、浮动、定位

页面布局要学习三大核心:盒子模型、浮动和定位。

传统网页布局的三种方式:标准流、浮动、定位。

标准流就是块级元素独占一行;行内元素会按照顺序从左至右排列,碰到父元素边缘自动换行。

这三种方式就像刘备、关羽、张飞。

网页布局的本质:利用CSS做盒子样式,摆放位置。标题<h>、段落<p>、盒子<h>。


盒子有 m b p c

清除内外边距:

不同浏览器带有默认的内外边距,因此我们在布局前,首先要清除下网页元素的内外边距。

方式:

* {

padding:0;/*清除内边距*/

margin:0; /*清除外边距*/

}


浮动

1 首先了解把块元素放在一行内?

使用行内块元素会产生 空隙

2 如何实现两个盒子左右对齐?

总结:有很多布局效果,标准流没有办法完成,此时利用浮动完成布局

浮动能改变标签的默认排列方式

网页布局准则:

纵向排列-标准流;横向排列-浮动

语法:

选择器  {  float : 属性值 ; }

浮动会贴着浮动

浮动特性(重难点)

1.浮动的元素不再保留原先位置,(会像我们迎面扑来),原来的位置会被别的占有

2.如果都设置浮动,则会以一行排列,直到位置不够,才落到第二行

3.添加了浮动都会有行内块元素的特点,不管什么元素

实际应用:

浮动元素经常搭配父级标准流,目的是限制浮动元素位置

先用标准流的父元素排列上下,之后内部子元素采取浮动排列左右

清除浮动?

也不是真正意义上的清除,而是限制浮动子元素

原因:

1 父元素不方便给高度(不知道子元素多少)

2 父元素高度设置为0的话,会被其他标准流父元素挤上去

前提:前提是父盒子本身没有高度,如果有高度就不用清除!!!

          清除浮动后,父级会根据浮动的盒子自动检测高度

操作:给父级添加overflow属性,值设置为hidden.


CSS定位

1 如果要实现某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子

这种情况下,使用标准流或浮动能实现吗?

2 实现某个盒子固定在屏幕

作用:

让盒子自由在某个盒子内移动或者固定在屏幕某个位置

组成:

定位=定位模式+边偏移

1)定位模式由CSS的position属性来设置,4个值:

static 静态定位,

静态定位就是标准流,很少用

relative 相对定位,(自恋型)

1 相对自己原来的位置; 2 原来在标准流的位置继续占有

例:position:relative;

      top:100px;

最典型应用就是给绝对定位当爹。。。。

absolute 绝对定位,(拼爹型)

是相对它的祖先来说的

语法:

选择器 { position : absolute ;}

注意:

1 没有父元素父元素没有定位,则以浏览器为准

2 父元素有定位  ,则以父元素为准。爷爷有定位爸爸没定位,就以爷爷为准

3 绝对定位不占有标准流位置,典型轮播图

实际开发中:子绝父相,绝对定位使用,父必须要有定位

fixed 固定定位

语法:

选择器 { position : fixed; }

以浏览器可视窗口做为 参照点,固定定位也不占有标准流位置,是特殊的绝对定位

2)边偏移就是盒子最终位置,4个属性:

top,bottom,left,right

扩展:

绝对定位的盒子垂直居中算法

固定版心算法

相关文章:

  • 快速让你明白Objective-C的语法(和Java、C++对比)
  • 说说对vue的理解
  • 聊天界面中ListView使用
  • css的引入方式
  • vite的基本使用
  • VUE组件化
  • 获取当前程序路径
  • vue3.X调试工具vue-devtools-6.0.0安装
  • 组件的基本使用上
  • 电子技术中的dB
  • 组件的基本使用下
  • Git代码版本控制
  • 阿里云9折推荐码:0LGVW2
  • 微信小程序真机调试regeneratorRuntime is not defined错误
  • 给笔记本电脑外接显示器增加副屏
  • 【React系列】如何构建React应用程序
  • 230. Kth Smallest Element in a BST
  • bearychat的java client
  • Centos6.8 使用rpm安装mysql5.7
  • CentOS7 安装JDK
  • java8 Stream Pipelines 浅析
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Javascript设计模式学习之Observer(观察者)模式
  • Java到底能干嘛?
  • java取消线程实例
  • October CMS - 快速入门 9 Images And Galleries
  • python学习笔记-类对象的信息
  • Redis中的lru算法实现
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring Cloud Feign的两种使用姿势
  • VuePress 静态网站生成
  • Zsh 开发指南(第十四篇 文件读写)
  • 好的网址,关于.net 4.0 ,vs 2010
  • 深度学习入门:10门免费线上课程推荐
  • 世界上最简单的无等待算法(getAndIncrement)
  • 小试R空间处理新库sf
  • 移动端解决方案学习记录
  • 最简单的无缝轮播
  • 如何正确理解,内页权重高于首页?
  • ​io --- 处理流的核心工具​
  • #QT(智能家居界面-界面切换)
  • (¥1011)-(一千零一拾一元整)输出
  • (1)(1.13) SiK无线电高级配置(六)
  • (TOJ2804)Even? Odd?
  • (编译到47%失败)to be deleted
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (规划)24届春招和25届暑假实习路线准备规划
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)为什么要选择C++
  • (转)平衡树
  • (转载)从 Java 代码到 Java 堆