css013 构建基于浮动的布局

css013 构建基于浮动的布局

基于浮动的布局时利用float属性是网页上的元素并排,并创建列

float有三个值:left 、right 、none

1、假设要把一张图片浮动到网页的左侧

.float-left{

float:eft;

}

假如要把一个装满内容的<div>浮动到一边,形成一个侧边栏

.sidebar{

float:left;

width:150px;

}

2、设计一个简单的两列布局需要的几个步骤

a、 把每列都包在一个带有ID或class属性的<div>标签里面

b、把侧边栏<div>浮动到左侧或者右侧

c、 给浮动的侧边栏设定一个宽度

宽度可以是一个固定的尺寸,也可以是基于浏览器窗口宽度的弹性设置,使用百分比。

d、     给正文添加一个margin-left

(要仔细弄明白了)

 

一、    用浮动进行布局

1、让所有的列都浮动让所有的列浮动时要注意每一列的宽度,列宽度总和应该小于总宽度

2、在浮动元素中浮动

3、在浮动元素中浮动

二、    克服浮动问题

1、清除浮动和保持浮动

a、 在<div>的底部添加一个清除元素

b、浮动外围元素:让浮动元素的<div>也浮动起来

c、 利用overflow:hidden; (如果容器中有绝对定位的元素,它们可能会显示不出来。例如:当一个下拉菜单中有另一个标签或者下拉菜单时,就会显示不出来)

d、   使用Mico Clear Fix

利用html分区元素,添加一个类,如:

<div class=”clear”>

在css中写:

.clear{

clear:both;

}

2、多列布局

三、    多列的布局

1、设置列项目:column-count

设置列列之间的间隔:column-gap

在列之间绘制一条直线:column-rule

如:给这个类定义一个名为:multicol的类,创建一个3列的布局,间隔为1em ,并添加一条黑色的虚线

. multicol{

column-count:3;

column-gap:1em;

column-rule:1px dotted black;

}

3、创建全网页高度的列

假设有个3列的设计,第一列为25%宽,第二列有50%,第三列有25%。你想让背景色为红白蓝。

<div class="wrapper">

<div class="sidebar1">hello everyone!</div>

<div class="main">i am the main content</div>

<div class="sidebar2">nice to meet you!</div>

</div>

添加一个线性渐变,让颜色站与列的宽度相匹配

.wrapper{

background-color: linear-gradient(left,

red:0%,

red:25%,

white:25%,

white:75%,

blue:75%,

blue:100%);

}

添加供应商版本的代码:

……

4、防止浮动下落

浮动下落(float drop)总是犹豫没有组否的空间容纳所有的列才造成的

5、用box-sizing防止浮动下落

box-sizing的三个值分别如下:

a、 content-box

b、  box-sizing:content-box

屏幕宽度为width属性值+padding值+border值

c、 padding-box

box-sizing:padding-box

屏幕宽度为width属性值+padding值

d、           border-box

box-sizing:border-box

屏幕宽度为width属性值+border值

时间: 2024-10-12 10:55:27

css013 构建基于浮动的布局的相关文章

基于浮动的布局

这里是根据精通css书籍总结的,这里介绍了如何利用浮动进行两列和三列布局!当然,两列布局以及三列布局还有其他的方式来实现,比如css3中的多列布局,以及利用table等... 基于浮动的布局: 利用浮动进行布局,这应该是最简单的方式了,虽说进行浮动有时候对于IE某些元素不是天生拥有布局,会存在一些潜在的BUG,但是通过一些解决方法可以做到更好的跨浏览器兼容效果.在基于浮动布局中,只需要设置元素的宽度,再将它们左右浮动即可达到布局效果.但是,有一点值得注意,就是由于浮动元素不占据文档流中的布局,因

CSS3-基于浮动的布局,响应式WEB设计,定位网页上的元素,设计打印页面的css技术

基于浮动的布局: 1.除非图片设置了宽度,否则始终应该要对浮动的图片设置一个宽度,这样可以让浏览器给其他内容腾出环绕的空间 2.当侧边栏的高度与主内容区的高度不一致的时候,可以用个margin进行调整 3.在一个非浮动元素<div>中存在一个浮动元素,当浮动元素高于元素本身的时候,内容就会溢出<div>中,解决方案如下: A:在</div>介绍之前添加一个换行,并且添加一个类<br class=”clear”/>,之后创建一个样式br.class{clear

构建基于Javascript的移动CMS——生成博客(二).路由

在有了上部分的基础之后,我们就可以生成一个博客的内容--BlogPosts Detail.这样就完成了我们这个移动CMS的几乎主要的功能了,有了上节想必对于我们来说要获取一个文章已经不是一件难的事情了. 获取每篇博客 于是我们照猫画虎地写了一个BlogDetail.js define([ 'jquery', 'underscore', 'mustache', 'text!/blog_details.html' ],function($, _, Mustache, blogDetailsTempl

构建基于Javascript的移动web CMS——Hello,World

在一篇构建基于Javascript的移动web CMS入门--简介中简单的介绍了关于墨颀CMS的一些原理,其极框架组成,于是开始接着应该说明一下这个CMS是如何一步步搭建起来. RequireJS 使用 库及依赖 这里用的是bower的JS来下载库,详细可以参考一下bower install js使用bower管理js 这篇文章. 需要下载的库有 RequireJS Backbone Underscore Mustache jQuery 使用RequireJS 引用官网的示例 <!DOCTYPE

构建基于CXF的WebService服务(3)-- 利用拦截器实现权限验证

CXF中的拦截器分为in拦截器和out拦截器,又有客户端拦截器和服务端拦截器. 拦截器使用流程:客户端(out)-> 服务端(in)->处理业务->服务端(out)->客户端(in),并不是每一步都需要拦截器.在这里我们用到的是客户端Out拦截器和服务端in拦截器.服务端in拦截器检查用户级权限,客户端out浏览器发送用户信息给服务端. 1.创建服务端验证 JaxWsServerFactoryBean或Endpoint都可以通过getInInterceptors方法,向WebSer

构建基于Javascript的移动CMS——生成博客(一)

在墨颀 CMS中的动态的文章是从我博客的API加载过来的,因为当前没有其他好的CMS当接口.之前直接拿博客的DB文件+Nodejs+RESTify生成了一个博客的API,而且可以支持跨域请求. 简单的博客构成 这次我们可以简单的做一个可以供移动平台阅读的博客,除了不能写作以外(ps:不能写作还能叫博客么).对于写博客的人来说更多的只是写,而对于读者来说,他们只需要读,所以在某种意义上可以将博客的写和读分离开来. 对于用户来说,博客是由两个页面构建的: 博文列表(blogposts list) 博

构建基于CXF的WebService服务(2)-- 利用CXF提供的wsdl2java工具创建客户端

1.环境配置 将CXF_HOME/bin加入到环境变量path中,如我的是D:\Java\Jar\apache-cxf-2.7.7\bin 打开cmd输入 wsdl2java -v 出现如下信息表示配置成功 2.wsdl2java的使用 (1)创建一个"Java Project"项目,暂且命名为client,将CXF用到的jar包引入进来,去掉jetty相关包,加入geronimo-jaxws_2.2_spec-1.1.jar包 (2)打开命令行工具,将目录切换到client项目中的s

构建基于WinRT的WP8.1 App 01:页面导航及页面缓存模式

本篇博文主要阐述基于Windows Runtime的Windows Phone 应用页面间导航相关知识,主要分为以下几个方面: Window.Frame和Page概览 页面间实现跳转 处理物理后退键 页面的缓存 Window.Frame和Page概览 基于WinRT的Windows Phone 8.1,每个App只有一个Window. 每个Window都有自己的Frame和导航栈, 以及自己的Page. Window中有一个Frame,并且100%撑满可视区域,通常Frame也是100%撑满Wi

构建基于Nginx的web服务器

构建基于Nginx的web服务器 一.简介 Nginx("engine x") 是一个高性能的HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器. Nginx 是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站 点开发的,它已经在该站点运行超过四年多了.Igor 将源代码以类BSD许可证的形式发布.自Nginx 发布四年来,Nginx 已经因为它的占有内存少.并发能力强.稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名了.目前国内各大