`
beck5859509
  • 浏览: 110841 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

前端布局的一些基本知识和思路

    博客分类:
  • web
 
阅读更多
1.盒子模型
布局前我们首先了解盒子模型,这是布局的基石。
网上很多内容没有讲解清楚盒子模型,引起了不少误解。
一个DIV在布局的概念中自内到外包含五层含义。
1)文本元素本身的内容。
2)padding所占空间
3)border所占空间
4)margin所占空间
5)position中top,left所占空间。

图示:



换种思路理解盒子模型
上面看起来有点抽象,我们可以想像一幢房子的结构情况。
1)床所占的空间是DIV里文本的内容。
2)床离墙的距离为padding的大小。
3)而墙的厚度即为border的大小。
4)每幢楼之间的距离即为margin的大小。其中margin又分为margin-top,margin- right,margin-bottom,margin-left;是一种从顺时针的方向。
5) 楼相对于楼所在小区某个点的距离position的top,left的大小。对于div元素来讲,      这个就是相对于父亲元素的大小。


从上面的分析,我们可以得出浏览器中页面的布局是一个二维坐标图。以浏览器左上角为坐  标原点进行计算。横向为大于0的X轴,纵向为向下为正的Y轴。


2.块级元素和内联元素
有了上面的一些基础知识,接着往下看块级元素和内联元素。
块级元素是在浏览器中占据一行,比如div,p,form元素
内联元素不占据行,比如span,label,input元素
  2.1)块级元素可以设置高宽(width,height),而内联元素不能设置高宽。
  正常情况下需要显示的内容使用内联元素包装,而块级元素大多情况只是用来定位。

3.定位
定位前首先要了解文档流。普通的一个html文档即称为文档流。
文档流是从上而下的排列方式。往html中添加一个div元素,则
会自动添加到当前文档流中。当然如果自上而下的纵向布局肯定不满足
业务需要。

position:absolute定位:
  使用postion:absolute方式,会使元素脱离原来的文档流,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块(body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,absolute依赖于父亲元素,如果父亲元素没有position定位过,则按相距body元素的top,left来定位。原来占据的空间会被后续元素占据。一般来讲这种情况
父亲元素需要设置成相对定位,并且父亲元素需要设置高和宽。
通过绝对定位,元素可以放置到页面上的任何位置。

position:relative定位
  relative是相对于自身的定位方式,它对应的top,left的大小是相对于没有定位时的大小,并且设置的top,left不能够被其它元素占据。因为他是在文档流中。纵向布局的父亲元素一般都是使用relative.

float:left,right定位
  float主要是用来做横向元素的布局,因为默认文档流是纵向布局的。设置了元素的float属性以后,元素就相对于父亲元素进行了向左或者向右浮动,并且元素浮动以后本身还是一个块级元素,所以可以使用margin,padding等属性;连续的兄弟结点进行浮动以后就显示横向块了。使用float元素以后由于脱离了文档流,后续元素会补齐原来文档流的空间,所以一般需要设置下一个元素的clear:both

以下示例当child1元素设置为absolute以后,child2元素会占据原来文档流中child1的空间,表现出来的现象就是重叠,当然可以指定元素的z-index进行谁优先显示。

其CSS样式如下:
<html>
<head>
<style>
.parent{
	border:1px solid red;
	width:400px;
	height:400px;
	position:relative;
}
.child1{
	position:absolute;
	top:10px;
	left:10px;
	margin-top:30px;
	margin-left:10px;
	width:200px;
	height:200px;
	border:1px solid red;
	background-color:green;
}

.child2{
	position:relative;
	top:20px;
	left:20px;
	width:100px;
	height:100px;
	border:1px solid red;
	background-color:blue;
}

</style>
</head>
<body>
<div class="parent">
	<div class="child1">child1</div>
	<div class="child2">child2</div>
</div>
</body>
</html>


总结:布局思路
定位外围元素一般使用相对定位position:relative或者float方式,然后再使用绝对定位position:absolute。感兴趣的同学可以看一下优酷首页和腾讯体育的布局,横向功能都采用了float布局。
0
0
分享到:
评论

相关推荐

    前端 - 郭碧青《Web 前端性能优化思路与学习方法》.pdf

    综合以上内容,可以得知郭碧青在Web前端性能优化方面拥有丰富的知识和实践经验,他不仅关注于前端代码的性能提升,还涉足前端工程化、性能监控、移动端性能优化以及页面渲染优化等多个方面。他的分享对于想要深入...

    web前端设计大作业-简易淘宝网设计,含项目完整代码、实验报告

    读者需要具备HTML、CSS和JavaScript等前端基础知识,了解网页布局和交互设计的基本原理。此外,对电商网站的设计和功能实现有一定的了解也会更有帮助。 使用场景及目标: 该资源适用于以下场景和目标: 学习参考: 该...

    前端前端静态模板-宠物医院-学生作业毕设实训素材.zip

    通过分析和修改这些源码,你可以了解前端开发的基本流程,学习如何构建响应式的网页布局以及如何组织和管理代码。 2. **毕业设计**: 毕业设计是高等教育中的一个重要环节,旨在让学生综合运用所学知识解决实际...

    纽曼官网前端

    此外,纽曼官网的前端开发可能还涉及到其他技术,如Bootstrap或自定义框架进行快速布局,jQuery简化DOM操作,Vue.js或React.js等前端框架实现组件化开发,以及可能的SEO优化和性能提升策略。这些都展示了前端开发的...

    100IT名企前端面试真题

    这两种策略反映了前端开发人员在面对不同浏览器和设备时的设计思路和优先级考量。 以上的知识点不仅涵盖了前端工程师在实际工作中可能遇到的问题,也包括了前端开发的基础理论知识和最佳实践。对于立志于成为高级...

    前端前端静态模板-动画网站-学生作业毕设实训素材.zip

    下面我们将深入探讨这个压缩包中可能包含的知识点,以及如何利用这些知识进行实践和学习。 首先,"前端源码"是指用于构建网站用户界面的代码,主要由HTML、CSS和JavaScript构成。HTML(超文本标记语言)是网页的...

    前端前端静态模板-非响应式婚纱漫画网站-学生作业毕设实训素材.zip

    在进行毕业设计时,这样的项目可以作为基础,帮助学生掌握基本的前端开发流程,包括页面结构规划、样式设计和交互实现。同时,这也是一个实践项目管理、版本控制(如Git)和文档编写(如README)的好机会。 关于...

    2022年最新前端面试题(字节跳动)真题解析

    在准备2022年字节跳动前端面试的过程中,了解和掌握最新的面试题型及解题思路至关重要。以下是对2021年字节跳动前端面试题的详细解析,旨在帮助你全面理解前端技术栈的核心知识和面试技巧。 1. HTML与CSS基础: - ...

    前端静态模板-摄影作品-学生作业毕设实训素材.zip

    6. **论文**:在毕业设计过程中,通常需要撰写论文来阐述你的设计思路、技术选型和实现过程。通过分析和总结这个前端项目,你可以形成一份有深度的论文,展示你在前端开发领域的理解和实践。 7. **模板**:模板设计...

    STB前端页面切图

    ### STB前端页面切图知识点详解 #### 一、基础知识 ...通过以上步骤和技术要点的学习,初学者可以更好地理解和掌握STB前端页面切图的基本流程和技巧。这对于提高工作效率以及确保最终成品的质量都有着重要的意义。

    学成在线前端代码_study.rar

    现代前端开发通常依赖于一些框架和库,如React、Vue.js或Angular,它们简化了开发流程并提高了效率。在"study"中,可能使用了其中一种或多种框架,这些框架提供了组件化开发、状态管理等高级特性。例如,React以其...

    前端项目-oj.YouTubeVideo.zip

    开发者可能需要具备React、Vue、Angular等现代前端框架的知识,以及对Web API和浏览器兼容性的理解。 【压缩包子文件的文件名称列表】"oj.YouTubeVideo-master" 通常表示这是一个Git仓库的克隆或下载,"master"是...

    前端前端静态模板-非响应式可爱儿童卡通幼儿园可用-学生作业毕设实训素材.zip

    在前端开发领域,静态模板是一种常见的工具,它们用于快速构建网站的基础布局和界面设计,而无需复杂的后端逻辑。这个名为“非响应式可爱儿童卡通幼儿园可用”的前端静态模板特别适用于那些希望创建针对儿童,尤其是...

    后台前端模版.zip

    1. **前端模板设计**:一个良好的前端模板应具有直观的布局、易于定制的代码和吸引人的设计,以提供优质的用户体验。这款模板满足了这些要求,尤其适合后台管理系统。 2. **无框架开发**:不依赖特定框架意味着...

    前端前端静态模板-非响应式黑粉白图片展示网站-学生作业毕设实训素材.zip

    下面我们将深入探讨这个项目涉及的前端开发知识和技术。 1. **前端源码**:前端源码是指运行在用户浏览器端的代码,主要包括HTML、CSS和JavaScript。在这个项目中,HTML负责构建网页结构,CSS负责样式设计,而...

    前端前端静态模板-传授课手机端-学生作业毕设实训素材.zip

    模板在前端开发中扮演着重要角色,它们提供了预先设计的布局和组件,可以快速搭建应用的基础框架。这个手机端模板可能包含了各种常见的页面布局、导航、按钮、表单等元素,学生可以根据自己的需求进行修改和扩展。 ...

    Web前端大作业.zip

    通过对这个大作业的实践,我们将不仅提升Web前端开发的技能,还能锻炼项目管理、问题排查和团队协作的能力,为未来的职业生涯打下坚实基础。在遇到浏览器兼容性问题时,要学会利用开发者工具进行调试,寻找问题根源...

    考试类精品--前端增长,知识图谱课件,没事盘他。从面试考察的知识点入手,梳理前端知识点脉络,精讲各个点的长问问题和设.zip

    本课程“考试类精品--前端增长,知识图谱课件,没事盘他”就是针对这一需求,从面试常考知识点出发,系统地梳理前端知识体系,并深入讲解每个关键点的常见问题与设计思路。 课程内容涵盖以下几个核心领域: 1. ...

    前端前端静态模板-非响应式黑灰蓝摇滚因为网站模板-学生作业毕设实训素材.zip

    该压缩包文件“前端前端静态模板-非响应式黑灰蓝摇滚因为网站模板-学生作业毕设实训素材.zip”提供了一套完整的前端应用源码,适用于毕业设计学习和论文撰写。这个模板以其非响应式的特性,黑灰蓝的色调以及摇滚主题...

Global site tag (gtag.js) - Google Analytics