文字样式、盒子、布局与浮动的关系

文字段落的样式属性

文字样式:

默认文字显示:placeholder
placeholder="要显示的字"
在css文件中添加::-webkit-input-placeholder { color: white; }即可设置默认字体颜色为白色
切记同一div中的所有与字体有关的颜色都必须改为white

文字颜色:color
文字大小:font-size:
文字粗细:font-weight:
文字斜体:font-style:
文字字体:font-family:
文字修饰:text-decoration
行高:line-height:
首行缩进:text-indent:
字符间距:letter-spacing:
单词间距:word-spacing:
文字垂直对齐:vertical-align:
  • color:设定一个标签中的文字的颜色,颜色值可以使用英文单词,16进制语法和rgb语法:
    color: red; color: #f0fcf8; color:rgb(123, 88, 205);
  • font-size: 设定文字大小,单位通常为像素(px)—— 一般的商业网站的文字大小通常都是12px。
  • font-weight: 设置文字粗体(bold)或非粗体(normal)。
  • font-style: 设置文字斜体(italic) 或非斜体(normal)
  • font-family:设置文字的字体名字,可以使用多个字体名,中间用逗号分开,表示的含义是:首先使用第一个字体,如果用户电脑中没有第一个,则是用第二个,以此类推。
    举例:
  1. font-family: 宋体,仿宋,微软雅黑,arial, “Times New roman”;
  2. line-height:设置文字的行高,单位通常也是px,即一行文字所占据的空间高度——行高不是文字的高度。
  3. letter-spacing:设置字符(或字母)之间的间隔距离,中文其实就是“字”的间隔。
  4. word-spacing:设置单词之间的间隔距离——通常只对西方拉丁语系的字符有效。
  5. text-align:设定文字的水平对齐方式。其功能是相当于标签属性中的align属性。但要注意:align作为html属性,其实只在其中的某几个标签中使用,但text-align是几乎所有标签都可以用的
  6. text-indent: 设定一个段落中的首行缩进距离,单位通常也是px。
  7. text-decoration:设置文字的“修饰线”:下划线(underline),中划线(line-through),上划线(overline),none(无)
  8. vertical-align: 设定文字在一个表格盒子(单元格)的垂直对齐方式:top(顶对齐),middle(中对齐),bottom(底对齐)

盒子模型初步

首先先建立一个观念: 几乎所有标签其实都是一个盒子——而所谓盒子,无非就是一个“矩形的区域范围而已”。其实所谓网页,无非是一个盒子套一个盒子。
一个盒子有如下一些区域(结构)构成:

  1. 边框(border):一个线型的区域,可以是实线或虚线或其他形状。
  2. 外边距(margin):也叫“边界”,边框线之外的一块空白区域,其含义是“不能放置物体”
  3. 内边距(padding):也叫“补白”,边框线之内的一块空白区域,其含义也是“不能放置物体”
  4. 内容区(没有对应的css属性名):指一个盒子中可以放置“物体”的区域——也就是盒子的主要区域。其中放置的物体可以是普通的文字或其他标签——对应我们之前学的html中的“内容部分”。内容区通常只能设置其宽高属性(width,height)

网页设计中的“内容与表现分离”思想

我们以前学习html,说,标签具有“表形表意”之作用。其实也可以说,内容和其表现混在一起。
现在:css技术其实可以将一个网页中的各个标签的表现都“提出来”放到一个专门的地方(比如style标签中),剩余的部分(标签和文字内容等)被整体上称为“结构/内容”。这种做法就被称为“内容与表现分离思想”

盒子的两种初始状态(基本表现):

  1. 类似div的盒子:一个盒子自动“占据一行”(不管其内部内容多少):这就是“块盒子”(块元素)。常用块盒子:
    p, hr, h1~h6, table, form, ul, li, ol, dl, dt, dd, blockquote, pre,
    特点:可以设置固定的宽高,margin,padding

  2. 类似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;
则最好总结:布局需要左右排列,左右排列需要浮动,浮动需要修正其破坏效果——让父盒子合理包住其子盒子。

上一篇:鼓捣phantomjs(二) node.js模块化集成


下一篇:列表、定位、css优先、剧中总结