女屌丝前端逆袭记(一)之浅谈float
提到前端,相信作为开发者的你或是正在看这篇文章的你并不陌生。前端可以说是直接与用户打交道的一个端口,不论是页面前端亦或是后端界面的前端,都是直接与用户对接的,因此前端设计对于一个网站或管理系统,都是至关重要的。一个好的前端能给用户视觉上的冲击,比如电商、门户等网站;也能给用户带去很好的体验,比如办公系统、财务软件等能让用户更好的去操作。就拿我们喜科堂的官网来举例:如图1所示

图1 喜科堂官网首页
通过喜科堂官网首页图,可以看出,不论从布局上、还是从色彩上,都给人带来了不一样的体验。首先,它在布局上采用了比较常用的流式布局;其次,色彩搭配上也是非常得当的,伴随一些装饰色彩,更加突出主题,同时也达到展示宣传的效果。
你现在是不是已经开始心动了,是不是也想撸起袖子写出一个漂亮的页面,不要着急…。你要想写出和别人一样漂亮的页面,肯定是可以的,但是需要具备以下三点:
- 熟悉HTML/CSS/JS。
- 熟练使用CSS中的布局。
- 会色彩的搭配,页面的构建。
看到以上三点是不是有点胆怯了,或是有了放弃的念头,但凡有此念头的可以提醒自己,你行,你不能放弃。那我就来给你分享一下,我是如何从羡慕到想放弃再到我能行的,下面精彩的前端之路即将开启!!!
下面我就拿页面中最核心的东西—布局,来做一个技术经验的分享:
要想让页面以不变应万变,我们需要做到稳准狠。
稳,指的是在页面布局中保持平稳,不论你这个页面楼层盖多高,盖多厚,都不会坍塌,这才是稳。
那怎样才能做到真正的稳呢?要想稳,必须要掌握以下几点:
- 使用好float
- 利用好盒子模型
- 掌握好定位
首先,我们来看一下“float”的使用。
float从英文意思去理解,使“漂浮或浮动”的意思,那么我们就可以理解为,让html中的标签元素漂浮或者是浮动起来。要知道,在HTML中,元素分为块级元素、行内元素和行内块元素,并且遵循文档流,也就是我们所说的标准文档流,从上到下,从左到右的读写方式。这种标准文档流,在某些情况下限制了我们元素的展示和呈现,因此CSS给我们提供了float这个属性帮助改变这种布局的局限性。
说到float,我们先来看看它的诞生记,float最初是用于做图片环绕的效果,后来发现float还有能改变元素性质的作用。在没有使用float的时候,通常使用的是display这个属性来改变元素的性质,但是发现display这个属性虽然能让元素并排显示或者是独自占一行,但是并排显示的元素之间有空白间隙,并且不能让元素进行左右布局,这时, float就有了用武之地。float不仅能改变元素的性质,还能让元素之间没空白间隙,也能让元素进行左右布局,是不是突然觉得它非常perfect。话不多说,示例展示如

图2:使用左浮动后的盒子
示例代码:图3


图3:示例代码
通过以上效果图和示例代码,可以看出通过对div块级标签的设置,让原本独自占一行的元素并排显示,并且是无间隙的并排,同时还能让div这个块级元素转换成行内块元素。你之所以能看到一个空白间隙,是因为设置了左外边距。当然你还可以试着让盒子1左浮动,让盒子2右浮动哦!现在就来小试牛刀吧。
既然知道float那么厉害,有那么多的优点,是不是在用的时候就没有后顾之忧了呢?no!no!no!凡事有利也有弊,饭吃多了还会撑呢?你说是不,float也不例外。它的确能让块级元素更好的去排列展示,但是它也是有自己的若点的。
float既然是让元素浮动,那么它必定会让元素脱离标准文档了,如果元素脱离标准文档流,本身的位置就会空出来,紧挨着它的元素就会跑到它的下面。可以看图4所示:


图4:float让元素脱标的问题
由图4,可以看出,盒子3跑到了盒子1的下面,眼尖的你应该还发现了一个问题,盒子3虽然跑到了盒子1下面,但是文字没有被遮住,这就是float让文字环绕的效果,它是不会压住文字的,这也是float的初衷目的。通过图4效果,知道了float原来也是有bug的,那还能用它吗?答案是yes,正所谓魔高一尺道高一丈,你有你的bug,我有我的招。下面就来看看如何解决float带来的浮动问题。
第一种解决办法:最简单直接,给盒子1和盒子2添加一个父容器,并且一定要给父容器设置高度,这样盒子3就不会跑到盒子1下面了,不信,你可以试试哦。
第二种解决的办法:可以给盒子3使用清除浮动的属性clear:both来清除左右两边浮动影响。
第三种解决的办法:可以在盒子3的前面添加一个div,给这个div设置clear属性清除,但是这种情况缺点是会让页面多出一些无意义的标签元素。
当然,你肯定会问,还有没有更好的解决办法呢?自然是有的,不过以上是咱们最常见的,由于文档字数有限,你想和我这个屌丝女探讨这个问题,可以通过扫描下方的二维码,给你分享更多的前端干货哦。
PS:看完这篇文章分享,如果受益匪浅,记得关注我,后续还会给不断分享更多更多的干货。
女屌丝前端逆袭记(一)之浅谈float的更多相关文章
- 我的Python学习方向-前端辅助-后端框架django学习-浅谈(一)
初始python,很直观的感受是编译格式多样,代码简介易懂 作为一门通用编程语言,python能编写多种用途的编程语言,当然对于我目前,我的方向便是借助其前端编辑器,实现后台框架的连接学习 1.首先便 ...
- 前端工程化的的理解,浅谈web工程化的开发流程
1. 什么是前端工程化 自有前端工程师这个称谓以来,前端的发展可谓是日新月异.相比较已经非常成熟的其他领域,前端虽是后起之秀,但其野蛮生长是其他领域不能比的.虽然前端技术飞快发展,但是前端整体的工程生 ...
- 【前端知识体系-NodeJS相关】浅谈NodeJS中间件
1. 中间件到底是个什么东西呢? [!NOTE] 中间件其是一个函数,在响应发送之前对请求进行一些操作 function middleware(req,res,next){ // 做该干的事 // 做 ...
- 浅谈float浮动
float大概是css3以前网页布局里最常用的一个属性了,经常看到一言不合就浮动的代码,就一起来深入挖掘一下这个一半天使一半魔鬼的属性吧. 本文是读张鑫旭大神慕课网float视频后的一些总结及一些拓展 ...
- 从前端到全栈:JavaScript逆袭之路
JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...
- 浅谈:当程序员的N多好处,逆袭高富师
选择一份职业,除了要要分析有没有钱途外(为什么要选择 IT 行业,IT 业有多火爆你造吗?),还要平衡其他方面的利弊.有很多想进入这个行业的小伙伴问我,程序员到底有什么好处.看样子这是很多小伙伴关心的 ...
- Javascript:一个屌丝的逆袭
HTML负责结构, CSS负责展示, 而我(加上AJAX, JSON) 负责逻辑.于是前端编程三剑客形成了. http://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExN ...
- 小课堂Week10 例外处理设计的逆袭Part3
小课堂Week10 例外处理设计的逆袭Part3 今天是<例外处理设计的逆袭>这本书阅读的第三天,也是最后一天,我们会主要通过实例,对Part2中提出的例外处理等级进行解读. Level1 ...
- IT学习逆袭的新模式,全栈实习生,不8000就业不还实习费
大家好: 我是马伦,也就是多年耕耘在IT培训一线的老马.老马一直怀揣普惠教育梦想初心,一直为莘莘学子能获得高质量的IT教育服务而奋斗. 之前老马在IT培训机构任职讲师多年,也有丰富的教学管理经验.接触 ...
随机推荐
- 解析PE文件
最近在自学解析PE文件,根据小辣椒(CFF Explorer)以及各论坛上大佬的帖子,做了个黑屏打印PE文件的,历时7天完成,在此想跟有相关需要的同学们分享下思路,有不足之处也希望大家不吝赐教,指点出 ...
- Linux下的ngnix安装与启动
Linux安装Nginx 1.安装gcc gcc-c++(如新环境,未安装请先安装)$ yum install -y gcc gcc-c++2.安装wget$ yum -y install wget ...
- 第二次实验报告:使用 Packet Tracer 分析应用层协议
个人信息: 姓名:倪晓东 班级:计算1811 学号:201821121020 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序 ...
- linux 中的页缓存和文件 IO
本文所述是针对 linux 引入了虚拟内存管理机制以后所涉及的知识点.linux 中页缓存的本质就是对于磁盘中的部分数据在内存中保留一定的副本,使得应用程序能够快速的读取到磁盘中相应的数据,并实现不同 ...
- Mac下安装安装selenium与安装chromedriver安装
开发环境:MacOS,Python3.7 1. 安装selenium 可以使用pip安装(pip install selenium)或者使用pycharm进行安装下载 2. 运行如下代码: from ...
- sql MYSQL主从配置
MYSQL主从配置 1.1 部署环境 主(master_mysql): 192.168.1.200 OS:CentOS 6.5 从(slave_mysql): 192.168.1.201 OS:Cen ...
- html前端之基础篇
HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen ...
- Mitmproxy 安装
Mitmproxy Python 安装步骤 官方文档 安装mitmproxy 在cmd中输入 pip install mitmproxy 安装完成后,在cmd中输入 mitmdump(windows不 ...
- lly的瞬移方块(并查集)
lly的瞬移方块 Description llyllylly最近发明了一个叫瞬移方块的游戏,为啥llyllylly这么闲呢,这得从一只蝙蝠说起..... llyllylly决定给大家也分享一下这个游戏 ...
- Vertica的这些事(四)——-vertica加密数据
通过创建 Secure Access Policies可以对vertica中的某一列数据进行加密: CREATE ACCESS POLICY ON [schema][tablename] FOR CO ...