使用CSS布局非常简单,如果你习惯使用tables布局,可能开始时有点困难,但其实很容易,事实上只是观念的不同。
你需要把网页的每个部分看成独立的块,你可以绝对或相对定位块。
Positioning 定位
positon属性可以指定元素为absolute,relative,static或是fixed。
static是元素默认属性,按HTML出现的先后顺序。
relative比较像static,但元素可以使用top,right,bottom和left设定初始属性。
absolute把元素从HTML里面拉出,一切由它自己决定,在这里,绝对定位元素可以使用top,right,bottom,left定位在任何地方。
fixed行为像absolute,但它绝对定位的元素参照浏览器窗口与网页没有关系。所以,理论上,fixed元素可以固定在屏幕上当页面滚动时。为什么说是理论上的?因为IE7以下的浏览器不支持。
使用绝对定位布局
可以使用绝对定位创建传统的两列布局,如下:
<div id="navigation">
<ul>
<li><a href="this.html">This</a></li>
<li><a href="that.html">That</a></li>
<li><a href="theOther.html">The Other</a></li>
</ul>
</div>
<div id="content">
<h1>Ra ra banjo banjo</h1>
<p>Welcome to the Ra ra banjo banjo page. Ra ra banjo banjo. Ra ra banjo banjo. Ra ra banjo banjo.</p>
<p>(Ra ra banjo banjo)</p>
</div>
上面加上CSS:
#navigation {
position: absolute;
top: 0;
left: 0;
width: 10em;
}
#content {
margin-left: 10em;
}
上面导航条设定在左边,宽度是10em。因为导航条是绝对定位,所以流动的页面上什么也不动,需要设定内容的左边margin等于导航条的宽度。
真是简单。你没有限制这两列的距离,使用聪明的布局,你可以随心所欲安排许多块。如果你想添加第三列,比如:
#navigation {
position: absolute;
top: 0;
left: 0;
width: 10em;
}
#navigation2 {
position: absolute;
top: 0;
right: 0;
width: 10em;
}
#content {
margin: 0 10em; /* setting top and bottom margin to 0 and right and left margin to 10em */
}
最后阶段去绝对定位元素,因为它们独立存在,无法正确了解它们哪里结束。如果你使用上面的例子,所有的页面有小的导航条和大的内容区域到可以,但是,特别是宽度和大小使用相对值,你必须经常放弃定位的希望,比如位于元素最下面的底部布局。如果你想定位底部,采用浮动模式比绝对定位好。
Floating 浮动
浮动元素可以在一条线上移动。
浮动一般使用在定位页面里的小型元素,但也可使用在大块里,比如导航。
上面的HTML例子使用下面CSS:
#navigation {
float: left;
width: 10em;
}
#navigation2 {
float: right;
width: 10em;
}
#content {
margin: 0 10em;
}
如果你不希望接下来的元素包围浮动对象,可以使用clear属性。clear:left清除浮动在左边的元素,clear:right清除浮动在右边的元素,clear:both清除所有。如果你想添加底部footer,可以像下面:
#footer {
clear: both;
}
footer将在所有列下面,不管它们的长度如何。
这篇介绍了定位和浮动的基本情况,强调页面的大块,但记住,上面方法可以运用到块里面的任何元素。通过组合使用position,floating,margins,padding和border,你可以表现出任何网页设计,table布局能做的CSS没有什么不能做。
使用表格布局的理由就是考虑古老的浏览器。CSS的优势在于拥有很高的可用性,而且体积上只有使用table布局的部分大小。
分享到:
相关推荐
CSS Pro布局 CSS库,用于构建响应式和可自定义的页面布局 文献资料 有关完整文档,请访问 入门 您可以使用NPM或Yarn安装CSS专业版 NPM npm install css-pro-layout 纱 yarn add css-pro-layout 将css-pro-layout....
关于CSS40个布局实列CSS布局大全:40多个教程,提示,例子和最佳实践 CSS布局教程 1-Three column fixed layout structure using CSS- 这篇文章解释了如何显示HTML/CSS基本结构。 2-Design page layout using CSS- 如何...
4. CSS3新特性:24款经典代码可能利用了CSS3的一些新特性,如渐变(gradients)、阴影(shadows)、过渡(transitions)、动画(animations)以及多列布局(multi-column layout)。这些特性使得翻页效果更加平滑和...
"css-Layout-page2"这个标题暗示我们主要探讨的是关于CSS布局的第二部分,可能是一个系列教程或者项目的第二阶段。描述中的"css-Layout-page2"同样强调了这一主题,但没有提供具体细节。不过,我们可以基于这个话题...
"Web-Page-Layout: Bigginer的简单网页布局"这一主题主要关注HTML(超文本标记语言)在构建网页布局中的应用。 HTML是网页内容的结构框架,通过不同的标签定义了网页的各种元素,如标题、段落、图像、链接等。在...
- 主要样式:master.css,布局:layout.css,专栏:columns.css,字体:font.css,打印样式:print.css,主题:themes.css。 4. **CSS命名规范**: - 使用全小写字母,多词之间用"-"连接,如user-list。 - div...
FlexLayout是一种强大的CSS布局模式,它允许开发者在不同屏幕尺寸和方向上灵活地组织元素,从而实现响应式设计。在小程序中,这种布局方式尤其重要,因为小程序需要在各种手机设备上展示良好,适应不同的屏幕尺寸和...
2. **页面布局(Page Layout)**:使用浮动、定位和多列布局技术,开发者可以创建复杂而灵活的页面结构。 3. **美化UI(UI Enhancement)**:通过控制字体、颜色、阴影等视觉效果,CSS2.0可以极大地提升用户界面的...
3. 框架布局:`layout.css`,定义页面的布局结构。 4. 字体样式:`font.css`,设置字体和排版。 5. 链接样式:`link.css`,定义链接的样式。 6. 打印样式:`print.css`,针对打印场景定制样式。 7. 常用类名如:`...
1.3-CSS:页面布局-讲习班练习1至练习12 每个练习文件夹都包含一个带有练习参数的自述文件。练习13至练习18(可选) 以下链接中的练习将帮助您使用CSS选择器,CSS Grid和Flexbox进行更多练习。 当前,没有为这些练习...
- `盒模型`(Box Model)是理解CSS布局的关键,包括`content`、`padding`、`border`和`margin`。 3. **布局技术**: - 流动布局(Block Layout)是网页的基本布局方式,元素默认按行排列。 - 浮动布局(Float ...
在CSS布局领域,单页(Single Page Application, SPA)练习是一项重要的技能,它涉及到网页设计、用户体验和前端性能优化等多个方面。在这个主题中,我们将深入探讨CSS如何在单页应用中构建高效、响应式的布局。 ...
heightmax-heightmin-heightwidthmax-widthmin-width 布局 Layout clearfloatclipoverflowoverflow-xoverflow-ydisplayvisibility 外补丁 Margins marginmargin-topmargin-rightmargin-bottommargin-left ...
DIV+CSS 是一对强大的前端开发组合, DIV responsible for structuring content on the web page, while CSS is responsible for styling and layout. In this summary, we will cover the basics of DIV+CSS and ...
描述中的“Source code for responsive web page layout dimension”进一步明确了这是一个关于响应式网页布局尺寸调整的源代码。 在标签部分,“page”指网页本身,“mobile”强调了这是针对移动设备的设计,而...
技术: HTML CSS FlexBox布局吉特项目目标In this project, you'll be using flexbox to design and build the layout for a company's homepage. You can choose to build a new homepage for an existing company ...
CSS是一种标记语言,用于描述网页的样式和布局。以下是常见的CSS知识点: 一、CSS盒子模型 CSS盒子模型分为标准盒模型(content-box)和怪异盒模型(border-box)。标准盒模型的宽度计算公式为:width + (padding-...