网页设计中的“内容与表现分离”思想
我们以前学习html,说,标签具有“表形表意”之作用。其实也可以说,内容和其表现混在一起。
现在:
css技术其实可以将一个网页中的各个标签的表现都“提出来”放到一个专门的地方(比如style标签中),剩余的部分(标签和文字内容等)被整体上称为“结构/内容”。这种做法就被称为“内容与表现分离思想”
盒子的两种初始状态(基本表现):
类似div的盒子:一个盒子自动“占据一行”(不管其内部内容多少):这就是“块盒子”(块元素)。常用块盒子:
p, hr, h1~h6, table, form, ul, li, ol, dl, dt, dd, blockquote, pre,
特点:可以设置固定的宽高,margin,padding,
类似span盒子:一个盒子中的内容会跟同类的盒子并排在一行出现,除非该行已满,则会自然到下一行——类似文字的表现特性。:这就是行内盒子(行内元素)。行内盒子通常放“最终的数据内容”,比如文本,图片。其他行内盒子:
b, strong, font, i, u, a, img, input, textarea, select,
特点:宽高不能设定,而是由其内容“撑出”,margin和padding没有上下方面的表现。
通常,行内盒子是“小盒子”,块盒子是“大盒子”,
布局初步(原理)
所谓布局,其实是指的将网页内容以一定的方式放到合适的位置上去。
布局的基本步骤:
1,将“当前版面”以视觉上界限明显的方式进行划分若干个区块,划分只用两种方式:
a)上下结构:此时,只要使用若干个盒子,自然就是上下结构,无需其他设置。
b)左右结构:此时使用若干个盒子,并进行相应的浮动,通常的模式:
i.2个盒子:一左一右
ii.3个盒子:两左一右或两右一左,或一边倒。
iii.更多盒子:通常一边倒。
浮动解释:
浮动就像水中的气泡,会“网上浮”
更形象的比喻:大家(所有标签)都在“地面上平铺着”,各自占据着一定的面积,浮动元素却“浮”到天花板上去了,其并占据大家通常的“地面面积”。
浮动除了表现上不跟别的元素抢占地盘之外,其最主要的特性(也就是破坏效果)其实是:使其父盒子失去合理高度——父盒子已经包不住其这些浮动的内部盒子了!这在布局中基本上是不允许的!那么我们就必须使用补充的做法来实现合理包含——父盒子包住子盒子。让父盒子获得正确有效高度的方法有3个:
1,给父盒子设置一个固定的高度——通常设计时已知高度且不回改变的时候。
2,给父盒子的内部最末尾加一个清除浮动的空盒子,如下:<div style=”clear:both”></div>
3,给父盒子设置一个css属性:overflow:hidden;
则最好总结:布局需要左右排列,左右排列需要浮动,浮动需要修正其破坏效果——让父盒子合理包住其子盒子。