牛腩新闻发布系统——盒子的浮动与定位

浮动和定位的相关知识,是设计精美网页的必要前提之一。在学习浮动与定位之前,我们先了解一下相关知识“标准流”。

一、标准流

标准流,是指在不适用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则。在标准流中,块级元素的盒子都是上下排列,行内元素的盒子都是左右排列的。我们把这些元素分为以下两类:

块级元素(block level):占据着整个矩形区域,以块的形式表现出来,并且跟统计的兄弟块依次竖直排列,左右撑满。如<li>、<ul>、<div>都是块级元素。

行内元素(inline):各个字母之间横向排列,到最右端自动折行。本身不占有独立的区域,仅是在其他元素的基础上指出了一定的范围。如<a><p>标记。

了解了标准流的概念,接下来继续学习盒子的浮动与定位。

二、盒子的浮动

基本属性:

float属性:默认为 none,即标准流。通过设置 float 属性的值为 left 或 right,元素会向其父元素的左侧或右侧靠近,盒子的宽度不再伸展,而是根据盒子里面的内容的宽度来确定。

 clear 属性:作用是为了消失由于使用 float 后,浮动的盒子对其他盒子的影响。clear 的值有 left、right 和 both,分别表示消除左边的影响、消除右边的影响和消除左右两边的影响。

在标准流中,我们知道,块级元素在水平方向上会自动伸展,在其父元素中占满一整行;而在竖直方向和其他元素依次排列不能并排。但使用浮动方式后,会发生改变。

如图所示:box1、box2、box3为块级元素,文字为行内元素

图1为标准流下个元素的排列:box占满整行,竖直排列,文字横向排列,行满后自动折行。

图2设box1为左浮动,脱离标准流,他原来的位置由标准流的box2填补。浮动的盒子box1不再伸展,其宽度为容纳内容的最小宽度。

图3设box2也为左浮动,由图可知,box1和box2间有空白,是由两者的margin构成。

图4为box1、box3左浮动,box2右浮动:行内元素自动填充到空白位置,而且可以通过设置浮动,调整box的位置。

图5,用clear:both清除浮动,实现文字的排版。

三、盒子的定位

广义的"定位":泛指一个网页排版中的定位操作,使用任何 CSS 规则来实现。

狭义的"定位":通过设置 CSS 中的属性 position 来进行定位。

 position的属性:

 1)static:默认的属性值,按照标准流(包括浮动方式)进行布局。

 2)relative:称为相对定位,使用相对的盒子的位置常以标准量的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离。

相对定位仍在标准流中,它对父块和兄弟块盒子没有任何影响。

3)absolute:绝对定位,盒子的位置以它的包含框为基准进行偏移。

绝对定位从标准流中脱离,并且以它的"最近"的一个"已经定位"的"祖先元素"为基准进行定位。没有已经定位的祖先元素,则以浏览器窗口为基准进行定位。

4)fixed:固定定位,与绝对定位类似,以浏览器窗口为基准进行定位,拖动浏览器窗口的滚动条时,位置保持不变。

当position的属性为relative、absolute和fixed时,通过设置left、right、top和bottom来制定偏移量,达到页面要实现的定位效果。

浮动与定位的基本知识很简单,但应用时,需要我们仔细的设计与精确的计量,才能准确定位,达到预期的页面效果。我们要多多实践,在实际应用中熟练掌握这些知识。

时间: 2024-08-25 23:25:46

牛腩新闻发布系统——盒子的浮动与定位的相关文章

有趣的CSS盒子模型——【牛腩新闻发布系统】

前言 传统的表格排版是通过大小不一的表格和表格嵌套来定位排版网页内容,改用css排版后,通过由css定义的大小不一的盒子和盒子嵌套来编排网页.css盒子模型是div排版的核心. 说白了就是以前没用css盒子模型,html中的元素就像一堆散乱的苹果:用了之后,就变成整箱整箱的苹果摞到一起.这种方式排版的网页,代码简洁,更新方便,容易兼容多种浏览器.    css盒子模型元素和计算 通过定义一系列与盒子相关的属性(内容content.填充padding.边框border.边界margin)来控制各个

牛腩新闻发布系统之CSS和HTML

牛腩新闻发布系统前台和后台的设计正在进行中,是停下来做一下总结的时候了.在敲这个系统的时候虽然用的语言和机房收费不太一样,但是共同点还是非常的多的.终于明白天下的语言都是一样的.这次我想对CSS和HTML进行一下总结为后面更好的学习做好铺垫. CSS:  特点:实现网页内容与样式的分离  Css选择器优先级:ID选择器>类选择>HTML选择器  Css核心内容:标准流,盒子模型,盒子之间的浮动,定位等. Css称为级联样式表.在牛腩新闻发布系统的前台设计中,懂得了id选择器和class选择器

牛腩新闻发布系统笔记——怎么写CSS

根据这牛腩学习敲新闻发布系统已经有一段时间了,挺佩服牛腩的,讲那么多东西,我听着也不觉得枯燥,反而有种,一不留神就会错过很多东西的感觉,所以有些地方也是重复又重复的在看. 这篇博客就总结总结小编在学习牛腩新闻发布系统的时候一些笔记.可能知识还比较原生态,but who cares.现在先提炼出来,以后慢慢的体会和升华吧. 牛腩一部分可以说是和机房相似,也是让我从.net到c#的一个过渡.中间一部分就是讲div +css了.里面的知识说多也不多的,根据不同的需求,它又有各种变形和组合,这加起来就有

牛腩新闻发布系统(一)

结束了软件工程的学习,开始学习牛腩的时候也就意味着我们的知识体系从C/S向B/S开始转化了.这里已没有具体的窗体,开始面向web开发. 一.软件工程过渡到牛腩新闻发布系统 在听牛腩讲解新闻发布从无到有,从最初只是一个需求,到系统初步成型,给我的感觉就是,软件不管是C/S还是B/S软件开发都还是一样的. 根据之前的机房收费系统的经验和牛腩详细讲解,我看到了更多地相似和曾经.后面一点点才是新的知识. 牛腩开始新闻发布系统的时候顺序也是根据需求写一个需求文档,然后画类图,设计数据库,画系统原型,回顾一

牛腩新闻发布系统---外键约束下如何删除记录

一.为什么使用外键? 查了些资料,八个字"保持完整性.一致性",结合我之前做的重构机房收费系统,我的理解是"防止相关表中数据没有关联而变得孤立,最终导致数据冗余",得出这个结论是上次让贾丽敏帮忙点系统时候我最深刻的感受,因为我的数据库关系图中辣么多张表却没有丝毫关系-- 既然官方解释是"完整性和一致性",就先来说明一下: 对于完整性和一致性,不少人都混为一谈了. 完整性(integrity)更多是针对实际业务来说的,比如说一个职员ID,不能在一个

牛腩新闻发布系统——真假分页

牛腩新闻发布系统已近尾声,牛老师重磅推出真假分页作为压轴,足以见得分页的重要性.我们就一起看一下真假分页的实现以及各自的特点. 一.分页简介 当我们显示足够大的数据量时,所有数据显示在一页上,会造成不必要的麻烦,本着为用户服务的态度,我们往往采用分页显示的处理办法.分页主要分为真分页与假分页. 假分页: 从数据库一次性取出所有数据绑定到控件上,再将所有数据根据每页显示记录条数进行分页.当数据量 比较大时,这种分页方法会造成查询速度, 使用户体验度降低,但是跳页速度较快. 真分页:在执行查询操作的

浅谈牛腩新闻发布系统

结束了漫长的C/S之旅,跨入B/S的学习,一切又是崭新的,充满希望. B/S的学习首先接触的便是牛腩老师的新闻发布系统,看了这么多年的网页终于要自己来编写一个网页了着实还是让我小小激动了一把.但是敲这个系统的时候总是有一种走迷宫,迷迷茫茫的感觉,什么跟什么啊... 于是,我机智的决定我要先把视频看一遍,至少要看一多半,至少得让我直到这个系统大概的框架吧.看了一半多终于形成了一个模糊的框架: 牛腩新闻发布系统分为前台和后台两部分,个人理解其实就像我们机房收费的UI层和B,D层的关系,前台负责显示给

牛腩新闻发布系统总结——网站发布和分页制作

牛腩新闻发布系统的视频看了将近半个月的时间,今天成功地把它发布了,哈哈.第一次看教学视频看得这么专注,都不带走思的,很不错.给小牛老师赞一个,嘿嘿! 言归正传,每学完一个阶段,最重要的就是总结,所以就允许我以倒序的形式,颗粒归仓吧! 牛腩新闻发布系统的发布 参考博文: win7下IIS的安装和配置 http://www.jb51.net/article/29787.htm VS2010网站发布详解 http://wanghaitaoboke.blog.163.com/blog/static/17

牛腩新闻发布系统总结(四)--知识点滴

紧接上篇博客:牛腩新闻发布系统总结(三)----知识点滴,继续我们的总结: 第五,在回复评论后如何保持滚动条的位置不变: <%@ Page Title="新闻内容-牛腩新闻发布系统" Language="C#" MasterPageFile="~/common.Master" AutoEventWireup="true" CodeBehind="newsContent.aspx.cs" Inherit