用css进行布局

一,开始布局的注意事项

1、作为最佳实践,应把html(内容)和css(显示)分离;

2、网站设计主要有两大类型:固定宽度(基于像素)和响应式(也称流式,使用百分数定义)

二,构建页面

!!高效网页的核心是结构良好,语义化的HTML。

1、恰当的使用article、aside、nav、section、header、footer、和div等元素将页面分成不同的逻辑块,并对他们使用ARIR地标角色。如以下代码:

                   <article class="about">
<h2>..</h2>
<img src=".." width="n" height="m" src="..">
<p>..</p>
</article> <div class="..">
<h2>..</h2>
<img src=".." width="n" height="m" src="..">
</div> <aside class="mod">
<h2>...</h2>
<ul class="links">
<a href="..">..</a><br/>
<a href="..">..</a>
</ul>
</aside>

(其中的...根据自己的需要进行填写)

三,在旧版浏览器中为html5元素添加样式

将以下代码添加到网页的主样式表文件(所有页面都用到的样式表文件)

article,aside,figcaption,figure,footer,header,main,nav,section{
display:block;
}

2,在每个页面的head元素添加以下代码:

<!--if it IE9-->
<script scr="http://html5shiv.googlecode.com/svn/trunk/html5.js">

四,对默认样式进行重置或标准化

1、css重置可以有效的将所有默认样式都设置为”0“

五,盒模型

1、定义:css进行处理是,它认为每个元素都包含在一个不可见的盒子里。

2,盒子构成:内容区域,内容区域周围的空间(内边距,padding),内边距的外边缘(边框,border),边框外面将元素与相邻元素隔开的不可见区域。

六,控制元素的显示类型和可视性

1、h1~h6、p等元素为块级元素(display:block;),em,strong,cite等为行内元素(display:inline;)。本质区别是他们的display属性。css可以改变默认的属性值,如p{display:line;}或者em{display:block;}

2,设置为inline的元素会忽略任何width,height,margin-top和margin-bottom设置。inline-block元素可以使用这些属性。

3,display:XX;用于指定元素的显示方式;XX:block(块);inline(行内);inline-block(显示行内元素,但是具有块级元素的特征,可以为四条边设置:width,heigth,margin,padding等属性);display:inline;中元素可接受padding的设置,但是padding-top和padding-bottom会越界进入相邻元素空间。

!!

4,控制元素可见性,如

em{
visibility:hidden;
}

将元素隐藏。

七,设置元素的宽高

1、可以为很多元素设置宽高,如:分块内容、段落、列表项、div、图像、video、表单元素等。

如以下代码:

main{
width:600px;
}
.sidebar{
width:300px;
}

2、设置宽高:width:w; height:h;   (w 和 h ,只表示长度,单位如px,em等 或者使用auto让浏览器计算高度)

(width和heigth不是继承的)

3、宽度,外边距和auto

.secend{
border:3px soild royalblue;
margin:10px;
padding:8px;
}

八,在元素周围添加内边距

1、如果不设置内边距(左),内容就会贴在边框上。添加后内容的外围就会有一些空白。

.about{
padding: .3125em .625em .625em
}

2、在元素周围添加边距的方法  padding:X;   x为要添加的空间量,带单位(px或em)的长度,或者父元素宽度的百分比

九,设置边框

1、例如

.about img{
border:5px soild #bebebe }

十,设置元素周围的外边距

margin:x;   (-top ; -right; -bottom; -left)(x为带单位的数值)

margin-left: 10px;
.page{
margin:0 auto;
}<!--让网页的内容水平居中-->

auto的值一来于width的值。

!!margin和padding,border的用法类似。

十一,使元素浮动,控制元素浮动的位置,

1、float:dir;  (dir:left or right or none)

2、清除浮动:clear:X;(X:left,right,both,none)(清除浮动很重要)

3、创建自清除浮动元素

.container{overflow:hidden;}

!!浮动元素的display属性值会自动强制转化为block。

十三,对元素进行定位

1,相对定位

possition:realitive;

top:d;  (top,right,bottom,left皆可用)(d为希望元素从它自然位置偏移的距离)

2、绝对定位

possition:absolute;

top:d;  (top,right,bottom,left皆可用)(d为希望元素从它自然位置偏移的距离)

!定位是不继承的。

十四,在栈中定位元素。

1、z-index:n;n表示定位过的对象堆中的层级的数字。

十五、溢出处理

overflow:hidden;(隐藏)

overflow:auto;(滚动)

overflow:hidden;(滚动)

!overflow是不继承的。

十六、垂直对齐元素

vertical-align:baseline;middle;sub;super;text-top;

vertical-align仅适用于行内元素(inline 入em,strong,cite),不能适用于块级元素(bolck 如h1~h6);

十七,修改鼠标指针

cuesor:pointer;default;crosshair;move;help;等等

注:今天遇到一个比较大的问题,没有解决:我做了一个有主要栏和附注栏的页面,本来附注栏在主要栏下面,想让附注栏浮动在主要栏右边,写了float:right;它只是向右移动,不是移动到主要栏的右边。然后我就用position把它定位在主要栏右边了。我觉得这样应该是不对的。

用css进行布局的更多相关文章

  1. css双飞翼布局

     双飞翼布局是一种比较灵活的布局,始于淘宝UED,玉伯提出的,他着重介绍的是双飞翼栅格布局. 三列布局为"双飞燕"布局,可以把三栏比作一只鸟,main部分相当是于鸟的身体,而lef ...

  2. 奇妙的CSS之布局与定位

    前言 关于布局与定位是Web前端开发里非常基础而又重要的部分.介绍相关知识的文章,很容易就可以找到.虽然,这方面的知识点不是很多,但我们如果不弄清楚,在运用时候往往会出现预料之外的布局,这些“意外”有 ...

  3. 原生 CSS 网格布局学习笔记

    下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...

  4. CSS网页布局全精通

    在本文中将使用四种常见的做法,结合CSS于结构化标记语法制作两栏布局.很快地就会发现,不用嵌套表格,间隔用的GIF也能做出分栏版面布局. 相关文章:CSS网页布局开发小技巧24则 稍后在"技 ...

  5. 【转】一个DIV+CSS代码布局的简单导航条

    原文地址:http://www.divcss5.com/shili/s731.shtml 简单的DIV CSS代码布局实现导航条 一个蓝色主题的导航条布局案例,本CSS小实例,采用DIV CSS实现. ...

  6. CSS网页布局错位:CSS宽度计算

    为什么计算宽度计算网页像素宽度是为了CSS网页布局整齐与兼容.常见的我们布局左右结构网页或使用padding.margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题. 怎么 ...

  7. html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)

    html/css  盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width     是"宽 ...

  8. CSS+DIV布局初练—DIV元素必须成对出现?

    一直做C/S开发的工作,但是很少做和布局相关的工作,往往都是同事将界面设计好,自己填写代码而已,对于B/S的工作,做过,但是很少没有像C/S这么多,界面布局的话,更无从谈起. 日子就这么过,一天一个样 ...

  9. 总结与学习DIV+CSS网页布局技巧

    以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已. <style> ...

随机推荐

  1. 记一次在Linux上面启动部署在tomcat服务器的程序

    前提:Linux系统已安装好jre环境 1.文件结构: 文件说明: 部署文件包含以下文件:1.apache-tomcat-7  程序运行的应用服务器tomcat包含: war包:apache-tomc ...

  2. 5-touch 命令总结

  3. Linux下安装libiconv使php支持iconv函数

    libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...

  4. C++成员变量的初始化顺序问题

    问题来源: 由于面试题中,考官出了一道简单的程序输出结果值的题:如下, class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} ...

  5. 一次神奇的WCF的404错误解决

    现象:浏览器中可以访问元数据,但是运行的时候却报404的异常,说目标地址找不到. 折腾了一下午. 引用服务后config中的client的address是这样的http://host/aspx/Ser ...

  6. Android ListView 详解

    我做Android已经有一段时间了,想想之前在学习Android基础知识的时候看到了许许多多博主的博文 和许多的论坛.网站.那时候就非常感谢那些博主们能吧自己的知识分享在互联网上,那时候我就想 如果我 ...

  7. struts2上传的问题

    5. 在这里我加一个struts2的一个上传验证的问题 上传时我们可以这样来验证 //判断上传的文件是否合要求 public boolean filterType(String []types){ / ...

  8. 开发错误记录3:问题 Error:failed to find Build Tools revision 23.0.2

    今天导入swiperefreshlayoutdemo 问题 Error:failed to find Build Tools revision 23.0.2 修改build.gradle 里面设置,其 ...

  9. ActiveMQ_监听器(四)

    一.本文章包含的内容 1.列举了ActiveMQ中监听器的使用 2.spring+activemq方式 1 2 3 <!-- 消息监听容器(Queue),配置连接工厂,监听的队列是queue3, ...

  10. 【BZOJ 1043】【HNOI 2008】下落的圆盘 判断圆相交+线段覆盖

    计算几何真的好暴力啊. #include<cmath> #include<cstdio> #include<cstring> #include<algorit ...