字体的样式、字体的分类、字体的其它样式、行间距、文本的样式、盒模型、边框、内边距、外边距、外边距重叠、浏览器默认样式。

字体样式:<!DOCTYPE html>HTML5#xu{border:1px solid#ccc;}varcanvas = document.getElementById("xu");varxx = canvas.getContext("2d"); xx.lineWidth =5; xx.strokeStyle ="blue";varflag =false;//当鼠标按下时$("#xu").mousedown(function(e){alert("aa");varmouseX = e.pageX -this.offsetLeft;//获得当前页面的x坐标varmouseY = e.pageY -this.offsetTop;//yflag =true; xx.moveTo(mouseX,mouseY);//起始位置});//当鼠标抬起时$("#xu").mouseup(function(e){flag =false; });//当鼠标移动时$("#xu").mousemove(function(e){varmouseX = e.pageX -this.offsetLeft;//获得当前页面的x坐标varmouseY = e.pageY -this.offsetTop;//yif(flag){ xx.lineTo(mouseX,mouseY);//终止位置xx.stroke();//结束图形} });}

字体的分类:FontSquirrel网站提供了我们所用字体的各种格式,已经能很好的满足我们的需求

1、定义字体

1

2

3

4

5

6

7

8

@font-face{

    /*定义你要用的字体家族*/

    font-family:'GarogierRegular';

    /*将需要的各种格式的字体下载下来放到stylesheets/fonts文件夹中*/

    /*.eof文件的?#iefix前缀用于修复IE8中的一个严重的语法解析Bug,忽略该前缀将导致IE8在解析剩余规则时产生404错误,问号的作用是将让IE8把eot之后的内容作为查询参数*/

        /*字体的链接位置是相对于样式表而不是HTMLd页面*/

    src:url('fonts/garogier_unhinted-wetbot.eot?#iefix') format('embedded-opentype'),

            url('fonts/garogier_unhinted-wetfont.woff') format('woff'),

1

2

3

4

5

            url('fonts/garogier_unhinted-wetfont.ttf') format('ttf'),

            url('fonts/garogier_unhinted-webfont.svg#garogierregular') format('svb');

    font-weight:normal;

    font-style:normal; 

}

2、应用字体

1

2

3

body{

    font-family:"GarogierRegular";

}

/*也可能存在浏览器不支持我们的字体的时候.因此要准备多个备用字体上面的代码可改为*/

1CSS中分为两种字体:通用字体系列和特殊字体系列

1CSS提供了5种通用字体系列

1

2

3

4

5

6

    Serif 字体

    Sans-serif 字体

    Monospace 字体

    Cursive 字体

    Fantasy 字体

因此我们一般都会在特殊字体系列最后加上一个通用字体。

行间距:文字行间距属性:

line-height:18px;


文字间距属性:

letter-spacing:1px;

文本的样式:输入框景背景透明:

<input style="background:transparent;border:1px solid #ffffff">

鼠标划过输入框,输入框背景色变色:

<INPUT value="Type here" NAME="user_pass" TYPE="text" SIZE="29" onmouseover="this.style.borderColor='black';this.style.backgroundColor='plum'"

style="width: 106; height: 21"

onmouseout="this.style.borderColor='black';this.style.backgroundColor='#ffffff'" style="border-width:1px;border-color=black">

输入字时输入框边框闪烁(边框为小方型):

<Script Language="JavaScript">

function borderColor(){

if(self['oText'].style.borderColor=='red'){

self['oText'].style.borderColor = 'yellow';

}else{

self['oText'].style.borderColor = 'red';

}

oTime = setTimeout('borderColor()',400);

}

</Script>

<input type="text" id="oText" style="border:5px dotted red;color:red" onfocus="borderColor(this);" onblur="clearTimeout(oTime);">

输入字时输入框边框闪烁(边框为虚线):

<style>

#oText{border:1px dotted #ff0000;ryo:expression_r(onfocus=function light (){with(document.all.oText){style.borderColor=(style.borderColor=="#ffee00"?"#ff0000":"#ffee00");timer=setTimeout(light,500);}},onblur=function(){this.style.borderColor="#ff0000";clearTimeout(timer)})};

</style>

<input type="text" id="oText">

自动横向廷伸的输入框:

<input type="text" style="huerreson:expression_r(this.width=this.scrollWidth)" value="abcdefghijk">

自动向下廷伸的文本框:

<textarea name="content" rows="6" cols="80" onpropertychange="if(this.scrollHeight>80) this.style.posHeight=this.scrollHeight+5">输入几个回车试试</textarea>

只有下划线的文本框:

<input style="border:0;border-bottom:1 solid black;background:;">

软件序列号式的输入框:

<script for="T" event="onkeyup">

if(value.length==3)document.all[event.srcElement.sourceIndex+1].select();

</script>

<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T7" size="5" maxlength="3">

软件序列号式的输入框(完整版):

<script for="T" event="onkeyup">if(value.length==maxLength)document.all[event.srcElement.sourceIndex+1].focus();</script>

<script for="T" event="onfocus">select();</script>

<script for="Submit" event="onclick">

var sn=new Array();

for(i=0;i<T.length;i++)

sn=T.value;

alert(sn.join("—"));

</script>

<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">—<input name="T" size="5" maxlength="3">

<input type="submit" name="Submit">

盒模型

盒模型


例子


例子

边框:边框的样式:

solid 实线 dotted 点线 dashed 虚线 double 双线 inset 三维立体效果

边框有3个元素,用法是 border-top:10px soild red;

border-top:上边

border-bottom:下边

border-left:左边

border-right:右边

内边距:先将每个封装的页面设置边框,设置较鲜明的颜色,设置边框的像素,使其显眼,然后去判断是外边距,还是内边距

外边距是指边框与边框之间的距离

内边框是指边框与内容之间的距离

如果是外边距,可用margin:0px 除去四个方向的边距

如果是内边距,可用padding:0px除去四个方向的边距。

外边距重叠:

边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。

  两个或多个块级盒子的垂直相邻边界会重合。结果的边界宽度是相邻边界宽度中最大的值。如果出现负边界,则在最大的正边界中减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成。

  但是边界的重叠也有例外情况:

  1、水平边距永远不会重合。

  2、在规范文档中,2个或以上的块级盒模型相邻的垂直margin会重叠。最终的margin值计算方法如下:

    a、全部都为正值,取最大者;

    b、不全是正值,则都取绝对值,然后用正值减去最大值;

    c、没有正值,则都取绝对值,然后用0减去最大值。

    注意:相邻的盒模型可能由DOM元素动态产生并没有相邻或继承关系。

  3、相邻的盒模型中,如果其中的一个是浮动的(float),垂直margin不会重叠,并且浮动的盒模型和它的子元素之间也是这样。

  4、设置了overflow属性的元素和它的子元素之间的margin不被重叠(overflow取值为visible除外)。

  5、设置了绝对定位(position:absolute)的盒模型,垂直margin不会被重叠,并且和他们的子元素之间也是一样。

  6、设置了display:inline-block的元素,垂直margin不会重叠,甚至和他们的子元素之间也是一样。

  7、如果一个盒模型的上下margin相邻,这时它的margin可能重叠覆盖(collapse through)它。在这种情况下,元素的位置(position)取决于它的相邻元素的margin是否重叠。

    a、如果元素的margin和它的父元素的margin-top重叠在一起,盒模型border-top的边界定义和它的父元素相同。

    b、另外,任意元素的父元素不参与margin的重叠,或者说只有父元素的margin-bottom是参与计算的。如果元素的border-top非零,那么元素的border-top边界位置和原来一样。

    一个应用了清除操作的元素的margin-top绝不会和它的块级父元素的margin-bottom重叠。

    注意,那些已经被重叠覆盖的元素的位置对其他已经重叠的元素的位置没有任何影响;只有在对这些元素的子元素定位时,border-top边界位置才是必需的。

  8、根元素的垂直margin不会被重叠。

 外边距(margin)重叠示例

  外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。

  图示:

  另一个重叠现象是当一个元素包含在另一个元素之中时,子元素与父元素之间也会产生重叠现象,重叠后的外边距,等于其中最大者:

  同理,如果一个无内容的空元素,其自身上下边距也会产生重叠。

浏览器的默认样式:边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。

  两个或多个块级盒子的垂直相邻边界会重合。结果的边界宽度是相邻边界宽度中最大的值。如果出现负边界,则在最大的正边界中减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成。

  但是边界的重叠也有例外情况:

  1、水平边距永远不会重合。

  2、在规范文档中,2个或以上的块级盒模型相邻的垂直margin会重叠。最终的margin值计算方法如下:

    a、全部都为正值,取最大者;

    b、不全是正值,则都取绝对值,然后用正值减去最大值;

    c、没有正值,则都取绝对值,然后用0减去最大值。

    注意:相邻的盒模型可能由DOM元素动态产生并没有相邻或继承关系。

  3、相邻的盒模型中,如果其中的一个是浮动的(float),垂直margin不会重叠,并且浮动的盒模型和它的子元素之间也是这样。

  4、设置了overflow属性的元素和它的子元素之间的margin不被重叠(overflow取值为visible除外)。

  5、设置了绝对定位(position:absolute)的盒模型,垂直margin不会被重叠,并且和他们的子元素之间也是一样。

  6、设置了display:inline-block的元素,垂直margin不会重叠,甚至和他们的子元素之间也是一样。

  7、如果一个盒模型的上下margin相邻,这时它的margin可能重叠覆盖(collapse through)它。在这种情况下,元素的位置(position)取决于它的相邻元素的margin是否重叠。

    a、如果元素的margin和它的父元素的margin-top重叠在一起,盒模型border-top的边界定义和它的父元素相同。

    b、另外,任意元素的父元素不参与margin的重叠,或者说只有父元素的margin-bottom是参与计算的。如果元素的border-top非零,那么元素的border-top边界位置和原来一样。

    一个应用了清除操作的元素的margin-top绝不会和它的块级父元素的margin-bottom重叠。

    注意,那些已经被重叠覆盖的元素的位置对其他已经重叠的元素的位置没有任何影响;只有在对这些元素的子元素定位时,border-top边界位置才是必需的。

  8、根元素的垂直margin不会被重叠。

 外边距(margin)重叠示例

  外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。

  图示:

  另一个重叠现象是当一个元素包含在另一个元素之中时,子元素与父元素之间也会产生重叠现象,重叠后的外边距,等于其中最大者:

  同理,如果一个无内容的空元素,其自身上下边距也会产生重叠。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容