前端学习之浮动初识

首先了解css定位机制:

  1. 普通流/标准流(normal flow)
    网页内标签元素正常从上到下,从左到右的排序的意思。比如块级元素会独占一行,行内元素会按顺序依次前后排列;按照这种大前提的布局排列之下绝对不会出现例外的情况叫做普通布局。 规规矩矩,一般不会出现意外
  2. 浮动(float)
    浮动最早是用来控制图片的,以便达到其他元素(特别是文字)实现“环绕”图片的效果。后来,我们发现浮动有个很有意思的事情:就是让任何盒子可以一行排列,因此我们就慢慢的偏离主题,用浮动的特性来布局了。
  3. 定位(待续)

什么是浮动?

元素的浮动是指设置了浮动属性的元素会脱离标准流的控制,移动到其父元素中指定位置的过程。
在CSS中,通过float属性来定义浮动,其基本语法格式如下:

选择器{float:属性值;}
属性描述
left元素向左浮动
right元素向右浮动
none元素不浮动(默认值)

无浮动状态下的两个div:

<div class="up"></div>
<div class="down"></div>
.up{
		width: 200px;
		height: 200px;
		background-color: pink;
	}
	.down{
		width: 200px;
		height: 200px;
		background-color: yellow;
	}

无浮动的两个div默认垂直排列

浮动状态下的两个div

div{
		float: left;
	}

浮动状态下的两个div可以并列排序

为什么要用浮动?

浮动可以让多个div在一行内显示

	<div class="left one"></div>
	<div class="left two"></div>
	<div class="left three"></div>
	<div class="right"></div>
	<style>
	.left{
		width:100px;
		height: 100px;
		float: left;
	}
	.one{
		background-color: red;
	}
	.two{
		background-color: green;
	}
	.three{
		background-color: blue;
	}
	.right{
		width:100px;
		height: 100px;
		background-color: pink;
		float: right;
	}
	</style>

多个div可以一列显示

浮动的内幕特性

  • 浮动脱离标准流(脱标),不占位置,会影响标准流。
  • 浮动只有左右浮动
  • 浮动首先创建包含块的概念(包裹)。就是说,浮动的元素总是找离它最近的父级元素对齐。但是不会超出内边距的范围。

比较常见的一种格式

  • 这是比较常见的一种排列方式,如果上面两个div浮动,不占位置,那么下面的蓝色盒子必然会顶上去,如果要使蓝色排在第二行,就得在上面的两个div外层包一层div,设定一个高度。
  <!-- 第一部分两个块级元素浮动,底下跟着一个div ,那么第一部分需要一个div包裹 -->
    <div class="father">
       <div class="red"></div>
	   <div class="yellow"></div>
    </div>
	<div class="blue"></div>
	<style>
	 .father{
    	height: 220px;
    }
    .red, .yellow{
    	width:200px;
    	height:200px;
    	float: left;
    }
    .red{
    	background-color: red;
    }
    .yellow{
    	background-color: yellow;
    }
    .blue{
    	width:400px;
    	height: 200px;
    	background-color: blue;
    }
    </style>

内边距的情况

  • 子元素浮动不会超过父级元素的内边距的范围
<div class="father">
		<div class="son"></div>
</div>
<style>
 .father{
    	width: 600px;
    	height: 600px;
    	background-color: pink;
    	padding:50px;
    }
    .son{
    	width:200px;
    	height:200px;
    	background-color: yellow;
    	float: right;
    }
	</style>

在这里插入图片描述
在这里插入图片描述

  • 浮动的元素排列位置,跟上一个元素(块级)有关系。如果上一个元素有浮动,浮动A元素的顶部会和上一个元素的顶部对齐;如果上一个元素是标准流,则A元素的顶部会和上一个元素的底部对齐。即一个父盒子里面的子盒子,如果其中一个子级有浮动的,则其他子级都需要浮动,这样才能一行对齐显示

无浮动
都浮动

  • 上面两张图表明浮动具有隐藏模式转换即元素添加浮动后,元素会具有行内块元素的特性。元素的大小取决于自定义的大小或者默认的内容多少
     <div>这是div的内容</div>
     <span>这是span的内容</span>
     <style>
      div{
     	height: 100px;
     	background-color: pink;
     	float: left;
          } 
      span{
     	width: 100px;
     	height: 100px;
     	background-color: skyblue;
     	float: left;
          }
	</style>

总结:

  • 浮动的目的就是让多个块级元素同一行上显示。
  • 最核心的关键点就是 怎么排列的是否占有位置
  • 加了浮动的元素盒子是浮起来的,漂浮在其他的标准流盒子的上面。
  • 加了浮动的盒子,不占位置的,它浮起来了,它原来的位置漏给了标准流的盒子;
  • 特别注意,首先浮动的盒子需要和标准流的父级搭配使用;其次特别注意的是浮动可以使元素显示模式体现为行内块特性
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习前端响应式开发需要一定的基础知识和技能,以下是一个学习路线的建议: 1. 掌握HTMLCSS基础:了解HTML标记语言的结构和语法,学习CSS样式的基本使用和选择器的应用。 2. 学习CSS布局技术:深入学习CSS布局的各种技术,如盒模型、浮动、定位、弹性布局、网格布局等,掌握它们的使用方法和特性。 3. 学习响应式设计原理:了解响应式设计的原理和概念,学习如何根据不同设备和屏幕尺寸调整页面布局和样式。 4. 掌握CSS媒体查询:学习使用CSS媒体查询来根据不同的屏幕尺寸和设备特性应用不同的样式。 5. 学习响应式图像处理:了解如何为不同屏幕尺寸提供适当大小和格式的图像,以优化页面加载速度和用户体验。 6. 学习响应式框架:熟悉流行的响应式框架,如Bootstrap、Foundation、Bulma等,学习它们的使用方法和组件库。 7. 学习移动优先设计:了解移动优先设计的概念和方法,学习如何从小屏幕开始设计和开发,并逐渐扩展到更大的屏幕尺寸。 8. 学习跨浏览器兼容性:了解不同浏览器之间的差异和兼容性问题,学习如何处理和解决这些问题。 9. 实践项目开发:在学习的过程中,尝试开发响应式的网站或应用项目,应用所学的知识和技术,同时不断练习和提升自己的技能。 10. 持续学习和实践:前端技术和框架在不断发展和更新,要保持学习的状态,关注最新的前端技术趋势和最佳实践,并不断地进行实践和项目开发。 请注意,这只是一个大致的学习路线,实际的学习过程中可能需要根据自己的情况和需求进行适当的调整和深入学习。同时,不断实践和构建项目是提升自己前端响应式开发能力的重要途径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值