absolute布局和css布局释疑
有时候, 也需要自己写一些, 由 css 和jquery结合的一些东西, 如: banner中, 依次播放的div等
## 关于jquery设计的一些思想和理念?
button是html5中的概念. button...content /button 中间的内容都会出现在button上.
平时, 我们看到的 "数字" 外面的东西, 如边框 图片 背景等等都是css style样式的东西.
凡是: 多个地位平等的东西, 并列的东西, 滑动的东西等等, 实际上都是通过 列表的方式来写的:
列表有三: UL, OL, dL.
```
写web的三步走:
结构(html)
样式(.class, style) **首先清除所有样式: **{padding:0; margin:0; list-style:none; border:0}**
最后是jquery.
```
一般写zen coding的时候, 比较少的使用*N, 是因为其中并列的部分, 通常是通过复制来的, 使用*N, 反而会事复制受到影响.
<font color="red"> 为什么写html的时候, 多用class少用id? </font>
class是类, id是文档结构的概念?
定位到一个类class所消耗的系统开销比定位到一个id的开销更少, 更快.
class可以叠加, id是唯一的, 而用addClass 和 removeClass, 使得使用类比id更灵活.
## css的 postition=absolute和float: left?的区别?
而 该包含框是static或relative top/left=0的这样不会对文档流中该div上面和下面的内容造成影响. 很少会在body中鲁莽的直接使用的
所以, position和float都是两种元素定位的方法, 看你的目的而言, 来选择使用的方法, 都重要都需要!
那一般外部大的 容器框为static默认的, 或者relative top/left=0, 父框的位置相对于普通文档流都不会变化, 为什么还要用relative呢?
答: 是为了 满足: 当 子div要使用 position: absolute时, 子div要寻找除static以外的 直接 祖先元素的需要 而设置的.
如果没有absolute, 通常就没有必要使用relative了!
-----------------------------------------------------
position 和 float 两者都是css的样式;
其中, position主要是偏向于布局方面的, 从其可能的值也可以看出.
而float主要是偏向于 "图文混排"类似于文字排版的.
position可能的值 : 子绝父相
值 | 描述 |
---|---|
absolute |
生成绝对定位的元素,<font color="red">相对于 static 定位</font>以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
fixed |
生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
relative |
生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
inherit | 规定应该从父元素继承 position 属性的值。 |
一般banner中div呈幻灯片效果的设计方法是
先设置一个大的div 作为整体的容器, 要设置容器的大小宽高/ 设置: overflow: hidden; position: relative;
然后, 设置 ul, ol的样式 可能是position: absolute, z-index: -1,0,1,2...
最后才是设置li的样式.
一段时间内,不要使float做主布局,浮动的逻辑不是那么纯粹。
而position更适合用来做局部效果微调,还不能对页面中同类单元比较多的元素使用position。
相信很多人都有这样的问题,在页面布局中float和position:absolute哪个更好用呢?
既然是布局,就用float好,这个我比较常用。这个浮动是可以清除的,一般不会影响整体布局。
而position,定位,是不受约束的,这个貌似都谈不上布局了,一般要是做什么特殊的定位或者浮动层的时候,可以考虑使用。
正常页面布局,我个人建议用FLOAT
关于写css的层次性问题?
写css, 也要体现/ 用层次/树形的结构和思想去写:
一般为了便于控制和jquery的定位, 以及html的 模块化结构, 通常是用div来组成" 模块" .
通常是 给 模块化的 外面的 "大的"div 一个类(通常不用id), 然后在该类 中进行层次化/树形结构的子元素(这时候一般class就用得少些
了, 当然也有用的) style样式的书写, 如:
.all {
.......
}
.all ul{
.....
}
.all ol{
....
}
.all ol li{
....
}
浮动float元素的排列方法?n
看这个w3school上的链接:
在css中, 任何元素都可以浮动, 而不管原来的元素是何级别
主要是用在布局中:当多个div块级元素在一个div容器中时, 块级元素默认是占一行的, 所以会纵向排列
很多时候, 想要这些div水平排列,这时候, 就要用到float(简单的说, 就是要求: 块级元素 横排的时候)
最多的情形:
主要是要求, float的多个块, 是等高 等宽的, 而且不会超过父容器的宽和高,
否则float很容易出错!(当父容器的宽度不够时, float元素会下降, 如果浮动元素的高度不同, 浮动元素
可能会被卡住.)
float的排列方法: w3school上的权威解释:
第一, 由于浮动框不在文档的普通流中(就是说, float要脱离文档流. ),所以文档的普通流中的块框(注意是块框, 不是所有的元素)
表现得就像浮动框不存在一样。(而实际上行内元素/内联元素, 如span等是不会忽略这些float元素的, 所以才形成图文混排的效果)
或另一个浮动框的边框为止。 (所以说, float一定要给一个 父容器, 放在包含框中,不然就跑到body最前面最上面的位置了.)
关于浮动元素的一个问题?(float跑到空的div容器外)
如果包含浮动元素的div中, 没有其他内容, 全都是float的, 由于float脱离文档流, 那么该div由于内部为空, 这时候, 外部的div的空间就为0.
根据float元素如果超出了容器的范围, float元素将会" 脱离 "空的"div的包围, 而跑到div的下方去!
应用float的clear?
第一, 注意应用clear样式的元素, 并不是float浮动框, 而是浮动框周围的 行框/或div框等等.
第二, 为什么要应用clear? 原本: 是为了解决: 图文混排时, 行框(文字框)将会缩短, 给浮动框 留出空间. 从而实现图文混排.
但是, 如上所述, 会出现 div全部为float元素时, div会成空, 而使 float元素跑到div的下方去的问题.
解决方法有两种:
一是, 添加一个空的div, 对这个纯粹是为了布局的需要 而使用的div , 应用 clear: both. (注意, clear只是在左右方向left, right没有上下)
二是, 对div容器本身 也使用 float. 但是会影响div容器后面的元素, 所以 [有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。事实上,W3School 站点上的所有页面都采用了这种技术,如果您打开我们使用 CSS 文件,您会看到我们对页脚的 div 进行了清理,而页脚上面的三个 div 都向左浮动。]
<em>在文本中加入强调也需要有技巧。如果强调太少,有些重要的短语就会被漏掉;
如果强调太多,就无法真正突出重要的部分。这与调味品一样,最好还是不要滥用强调。
将来的某一天,浏览器也可能会使用其他的特殊效果来显示强调的文本。如果你只想使用斜体字来显示文本的话,请使用 <i> 标签。
<em><strong><i><b>的区别?
使用html标签, 要真正的理解其 语义! 以便在最恰当的地方使用最恰当的标签.
<i>和<b>仅仅只是文字外形上的变化, i成倾斜, b成粗体
<em><strong>则更多的/ 都/ 具有具体的语义上的表达.
em是局部的, 具有语义上的作用, 如: <p>1cats 2are 3cute animals 在1,2,3位置处添加<em>标签, 表达的强调 的语义 是不同的
strong则是全局的强调, 表示重要性的强调, 如:<strong> warning, important</strong>
三种字体单位px, em, pt的用法
px: 像素, 也是一种相对单位, 相对于(屏幕)像素的单位. html页面中的文字和图片的 大小 跟屏幕的分辨率的设置有关...
em: 也是一种相对单位, 相当于%, 是字符大写字母M的宽度.有两个用法:
一是, 表示字符的相对宽度. 二是用来表示字体大小, 这时候的用法是: 在父元素中使用em, 由于子元素会继承父元素的大小, 所以,
可以只调节一个父元素的大小, 就可以调整所有子元素的大小, 这样就很方便.
pt是一种绝对单位, 1pt=1/72inch, 通常用在word打印中, 便于打印到纸张上的文字大小总是一致的.
em和px的换算: 默认的1em=16px, 1px=0.0625em, 所以在<body style="font-size: 62.5%">就可以实现1em=10px....
- 使段落的首字母浮动于左侧
- 使段落的首字母浮动于左侧,并向这个字母添加样式。
<style type="text/css">
{
float:left;
width:0.7em;
font-size:400%;
font-family:algerian,courier;
line-height:80%;
}
</style>
</head>
<body>
<p>
<span>T</span>his is some text.
line-height和基线base-line
行高是指 文本行之间基线 之间的距离, 但是文本之间的空白距离不仅仅是行高决定的,同时也受字号的影响。
而基线(Base line),指的是一行字横排时下沿的基础线,基线并不是汉字的下端沿,而是英文字母x的下端沿,
同 时还有文字的顶线(Top line)、中线(Middle line)和底线(Bottom line),用以确定文字行的位置,如图7-17所示。

行高与字体尺寸的差称为行距(leading)

行高line-height= 字体高度font-size + 行距 line-space
两个概念: 行内框inline-box, 和行框 line box的区别?
都是虚拟框, 无法显示, 但是确实存在, 并影响布局...
这里的意思是: inline-box line-box的边框是虚拟框, 是无法显示的, border: 1px solid red; 只会显示仅仅包含文字内容的那部分区域的边框线.
1 在没有设置行高的情况下, 行内框等于内容区域, 即等于字体高度
2 在设置了行高的情况下, 行内框: = 字体高度 + 上下各增加 行距的1/2, 因此, 此时 该元素的行内框 = 行高
3 由于 同一行内 , 多个float的<p> 或 <span>文本元素, 可以分别设置行高, 因此 各个元素的行内框 可以不同
那么在同一行内, 所有这些行内框中, 最大的那个行内框, 就叫做 这一行的 行框. 也就是说, 行框= 所有元素中, 最大的那个行高(line-height).
4 而且, 如果文本有多行, 那么, 每一行都有自己独立的/ 可以不同的 行框!
5 注意:行框的高度只同本行内元素的行高有关,而和父元素的高度(height)无关

- 当对行内 非替换元素(Inline, non-replaced elements)设定 width、height、(内外边距 的上下属性 )margin-top、margin-bottom、padding-top、padding-bottom (这6个属性) 等css属性时将被浏览器忽略
- 块级元素默认宽度为父元素的整个宽度
- 浮动元素的默认宽度为 能包含其内容的最小宽度
关于 行高, 参考这个: http://www.ddcat.net/blog2005/archives/2008/06/227.html
-----------------------------------------------------------------------------------
inline和text-align, vertical-align? display: inline-block
absolute布局和css布局释疑的更多相关文章
- 从三栏自适应宽度布局到css布局的讨论
如何实现一个三栏自适应布局,左右各100px,中间随着浏览器宽度自适应? 第一个想到的是使用table布局,设置table的宽度为100%,三个td,第1个和第3个固定宽度为100px,那么中间那个就 ...
- Python之路-python(css布局、JavaScript)
CSS布局 JavaScript css布局: 后台管理界面一:(左右标签都有下来菜单) 利用position: absolute;让某个标签固定在具体位置,然后使用overflow: auto;属性 ...
- CSS布局(下)
1.CSS布局之浮动 1.1.float之图文混排 float的意思就是元素漂浮在上层. 可以直接通过设置float属性实现图文混排,代码如下: <div style="width:2 ...
- CSS布局方式--inline-block 布局
布局其实就是想办法怎样将一些元素横向的排列起来,纵向由于块级元素的存在会自动占据一行. inline-block 元素会占据一行而且可以调整宽高很适合将这些元素排列在一行,而且使用 inline-bl ...
- 界面设计技法之css布局
css布局之于页面就如同ECMAScript之于JS一般,细想一番,html就如同语文,css就如同数学,js呢,就是物理,有些扯远,这里就先不展开了. 回到主题,从最开始的css到如今的sass(l ...
- CSS布局 - 三栏布局
CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...
- 常见css垂直自适应布局(css解决方法)
css3的盒模型, css3中添加弹性盒模型,最新弹性盒模型是flex,之前为box <!DOCTYPE html> <html > <head> <titl ...
- html学习第三天—— 第12章——css布局模型
清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 ...
- CSS篇之DIV+CSS布局
<div></div> div与其他标签一样,也是一个XHTML所支持的标签. div是XHTML中指定的,远门用于布局设计的容器标记. 简单的CSS布局 头部 内容 页脚 & ...
随机推荐
- Linux常用指令---系统管理
四.linux服务器" [have no space]"开发机dev2上不管是upa/upc上传文件时,会挂载在/目录下,而此时这里只有3G空间,通过df -h显示各大挂载点使用情 ...
- LeetCode 笔记23 Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock III Say you have an array for which the ith element is the price of ...
- 说说C#中IList与List区别
首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口. 它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,ILis ...
- Java四种引用包括强引用,软引用,弱引用,虚引用。
Java四种引用包括强引用,软引用,弱引用,虚引用. 强引用: 只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.e ...
- 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...
- Ajax基础详解1
Ajax也是前端必备技能了,学习任何语言,都需要以理论为基础的大量实践才能真正学会,之前学了Ajax很多遍,因为缺乏大量实践,总是会忘.所以不实践是失败之母...当然理论基础也很重要啦,今天谈谈我对A ...
- Gt9xx芯片,在规格书+Linux驱动的基础上,移植为USB裸机经验。直接用开发板,不去碰硬件的坑。
1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[] = {GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR &a ...
- 查询一个ID出现2种结果的情况
项目中书籍分个人和机构,分属不同的表 所以有的时候ID是一样的,那么只根据ID查询书籍就会存在ID=xxx的既有个人又有机构,而通常我们可能只需要一个,多的没做区分就出问题了! 所以数据统一做查询的时 ...
- ASP.NET MVC系列 框架搭建(一)之仓储层的搭建
大神勿喷,小神默默学. 会了就是不值一提的东西,不会就是绝对的高大上. 最后上传源码.希望能给读者带来一些新的认识及知识. 还没上过头条..各位大神,请点支持一下小弟. 陆续更新.更新到你会为止!! ...
- jQuery ajax - get(),getJSON(),post()方法
1) jQuery ajax - get() 方法: $(selector).get(url,data,success(response,status,xhr),dataType) 参数 ...