HTML4.01+CSS2.0教程(一)

2/22/2017 10:26:28 PM

联网状态下代码高亮步骤:

单击左下角“M”标志,选择GFM,在代码开始标志“```”后面加入代码类型,如“html/css/js”

CSS

Q1:当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

A:一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中:
优先级从高到低排列为:

  1. head元素中!important
  2. body元素中inline style内联样式(行内样式)
  3. head元素中id选择器(无论这个id声明放在class选择器上面还是下面)
  4. head元素中class选择器(同一个body元素内应用到两个及以上的class,无论body中class值如何排序,head元素中靠内的class选择器优先级高于靠外的class选择器)
  5. head元素中tag标签选择器
  6. css外部样式表
  7. body标签内style样式
  8. 浏览器缺省设置(即默认样式)
    如:
<head>
<style type="text/css">
    .bgc1{background-color: #F00 !important;}
    #bgc{background-color: #00F;}
    .bgc2{background-color: #0F0;}
</style>
</head>
<body style="background-color: yellow">
<p class="bgc2 bgc1" id="bgc" style="background-color: #000">背景颜色</p>
</body>

显示效果如下图:


图片说明文字

CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
CSS 对大小写不敏感。不过存在一个例外:如果涉及到与HTML文档一起工作的话,class和id名称对大小写是敏感的。
格式:

h1{color:red; font-size:14px;font-family: Georgia, Palatino, serif;}

如果值为若干单词,则要给值加引号:

p{font-family:"sans serif";}

选择器分组:

h1,h2,h3,h4,h5,h6 {color: green;}

继承:
如果不希望 "Verdana, sans-serif" 字体被所有的子元素继承,又要照顾忽略继承和body元素规则的浏览器,可以单独为这些子元素创建特殊规则。

body{font-family: Verdana, sans-serif;}

td, ul, ol, ul, li, dl, dt, dd{font-family: Verdana, sans-serif;}

p{font-family: Times, "Times New Roman", serif;}

派生选择器:
根据文档的上下文关系来确定某个标签的样式。

<head>
<style>
li strong {
    font-style: italic;
    font-weight: normal;
  }
</style>
</head>
<body>
<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>

<ol>
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li>
</ol>
</body>

显示效果如下图:


图片说明文字

id选择器:
一个页面可以有很多不同的id选择器,但一个id 属性只能在每个 HTML 文档中出现一次。

<style>
#red {color:red;}
#green {color:green;}
</style>
<body>
<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p>
</body>

即使被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器作为派生选择器也可以被使用很多次:

#sidebar p {
    font-style: italic;
    text-align: right;
    margin-top: 0.5em;
    }

#sidebar h2 {
    font-size: 1em;
    font-weight: normal;
    font-style: italic;
    margin: 0;
    line-height: 1.5;
    text-align: right;
    }

在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。
类选择器

  • 格式一
<style>
.center {text-align: center}
</style>
<body>
<h1 class="center">类选择器</h1>
</body>
  • 格式二
<style>
td.fancy {color: #f60;background: #666;}
</style>
<body>
<td class="fancy">
</body>

注意:类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用。
属性选择器
可以为拥有指定属性的 HTML 元素设置样式,在为不带有 class 或 id 的表单设置样式时特别有用。

  • 格式一
<style>
[title]
{
color:red;
}
</style>
  • 格式二
<style>
[title="W3School"]
{
border:5px solid blue;
}
</style>
  • 格式三
<style>
input[type="text"]
{
  width:150px;
  display:block;}
input[type="button"]
{
  width:120px;
  margin-left:35px;}
</style>
<body>
<form name="input" action="" method="get">
<input type="text" name="Name" value="Gates" size="20">
<input type="button" value="Example Button">
</form>
</body>

颜色:

Hexadecimals(或hex)是十六进制数字,符号 0-9代表数值零到九,再使用A、B、C、D、E、F 代表数值十到十五。即用0到F可为我们提供16个可能的数值
16个值和6个位置意味着我们有16的6次方,即超过1600万种可能的颜色。

Hex code遵循rgb(红-绿-蓝)格式。

  • 前两位代表红色的数量(红色:#FF0000)
  • 第三四位代表绿色的数量(绿色:#00FF00)
  • 第五六位代表蓝色的数量(蓝色:#0000FF)
  • 平均混合的颜色可缩短为三位(红色#F00)
    属性:值;
    三种写法
color:#000---#fff;
color:rgb(0,0,0);---rgb(255,255,255);
color:rgb(0%,0%,0%);---rgb(100%,100%,100%)

正则表达式

a{1,4}
a
aa
aaa
aaaa

[fa|ba|ca|fafdafsaf]
fa
ba
ca
fafdafsaf

ab{0,1}cde{0,1}f{0,1}g
ab?cde?f?g
acdefg
abcdfg
abcdeg
abcdg
acdeg
acdfg
acdg


HTML

格式

<form id="form" action="form.php" method="post" style="font-size:25px;background-color:red;">
</form>

pre标签

html中对空格不敏感。pre元素可定义预格式化的文本,被包围在pre元素中的文本通常会保留空格和换行符,而文本也会呈现为等宽字体。
pre标签的一个常见应用就是用来表示计算机的源代码。
可以导致段落断开的标签(例如标题、p和address标签)绝不能包含在pre所定义的块里。
属性="值":width="number",描述:定义每行的最大字符数(通常是40、80或132)
如:

<pre>
   鹅鹅鹅
曲项向天歌
                    白  毛浮绿   水
                    红掌拨清
                    波
</pre>

显示效果如下图:


图片说明文字

abbr标签

abbr标签指示简称或首字母缩写
属性="值":title="全拼"

<abbr title="etcetera">etc.</abbr>
<br />
<abbr title="World Wide Web">WWW</abbr>

显示效果如下图:鼠标移到文本区域会显示完整的单词或句子。


图片说明文字
图片说明文字

bdo标签

bdo 元素可覆盖默认的文本方向
属性="值":dir="ltr/rtl",定义文字的方向。

<bdo dir="rtl">Here is some Hebrew text</bdo>

显示效果如下图:


图片说明文字

做一个表单

<!DOCTYPE html>
<html>
<head>
    <title>登录注册</title>
</head>
<body>
<form id="form" action="form.php" method="post" enctype="multipart/form-data">
<fieldset>
    <legend>用户</legend>
    <input id="hiddenField" type="hidden" name="hiddenField" value="hiddenvalue"/>
    <label for="username">用户:</label>
    <input id="username" type="text" name="username" value="" size="15" maxlength="25"/>
    <br/>
    <label for="pass">密码:</label>
    <input id="password" type="password" name="pass" value="" size="15" maxlength="25"/>
</fieldset>

    <fieldset>
        <legend>性别</legend>
        <label for="sex">基佬</label>
        <input id="sex" type="radio" value="1" name="sex"/>
        <label for="sex">同志</label>
        <input id="sex" type="radio" value="2" name="sex"/>
        <label for="sex">玻璃</label>
        <input id="sex" type="radio" value="3" name="sex"/>
    </fieldset>

    <fieldset>
        <legend>爱好</legend>
        <label for="fav">吃饭</label>
        <input id="fav" type="checkbox" value="1" name="fav"/>
        <label for="sex">睡觉</label>
        <input id="fav" type="checkbox" value="2" name="fav"/>
        <label for="sex">打豆豆</label>
        <input id="fav" type="checkbox" value="3" name="fav"/>
        <label for="sex">自闭症</label>
        <input id="fav" type="checkbox" value="4" name="fav"/>
    </fieldset>
<fieldset>
    <legend>靓照</legend>
    <label for="myimage">照片上传</label>
    <input id="myimage" type="file" value="" name="myimage" size="35" maxlength="255"/>
</fieldset>
<fieldset>
    <legend>提交</legend>
    <input id="submit" type="submit" value="提交" name="submit"/>
    <input id="reset" type="reset" value="重置" name="reset"/>
</fieldset>
</form>
</body>
</html>

显示效果如下图:


图片说明文字

块级元素:

<div></div>
<p></p>
<h></h>
<ul></ul>
<table></table>
<dt></dt>
  1. <p>内不能嵌套任何块级元素,<h>不能嵌套自身和其他<h><dt>不能嵌套自身(嵌套自身显示网页效果没有问题,但在网页上按"ctrl+shift+c"查看源代码是有问题的);内联元素不能嵌套块级元素,只能包含其他内联元素;块元素可以包含内联元素和某些特定的块元素。
    <p><div></div></p>—— 错
    <span><div></div></span> —— 错
    <div><p></p></div>—— 对
    <div><div><p></p></div></div>—— 对
    <div><h1></h1><p></p></div> —— 对
    <a href=http://www.cnblogs.com/jyybeam/p/"#"> —— 对
    <p><p></p></p>—— 错
    <h2><h2></h2></h2>—— 错
    <h2><h3></h3></h2>—— 错
    <p><h2></h2></p>—— 错
    <h2><p></p></h2>—— 对
    <dt><dt></dt></dt>—— 错

  2. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
      h1、h2、h3、h4、h5、h6、p、dt。

  • 当输入<h2><h2></h2></h2>时,浏览器出现的html文档是:<h2></h2><h2></h2>,原本是嵌套的属于父子关系的标签成为了2个兄弟标签。
  • 当输入<h2><h3></h3></h2>时,浏览器出现的html文档是:<h2></h2><h3></h3>,原本是嵌套的属于父子关系的标签成为了2个兄弟标签。
  • 当输入<p><p></p></p>时,浏览器出现的html文档是:<p></p><p></p><p></p>,原本是嵌套的属于父子关系的标签成为了3个兄弟标签。
  • 当输入<p><h2></h2></p>时,浏览器出现的html文档是:<p></p><h2></h2><p></p>
  • 当输入<dt><dt></dt></dt>时,浏览器出现的html文档是:<dt></dt><dt></dt>
  • 当输入<h2><p></p></h2>时,浏览器出现的html文档是:<h2><p></p></h2>,是正确的用法。

创建CSS

插入样式表的三种方法

  1. 外部样式表
    样式需要应用于很多页面时,使用外部样式表可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。
    <link> 标签在(文档的)头部:
    <head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>
    外部样式表中不能能包含任何的 html 标签,样式表应该以 .css 扩展名进行保存。
    格式如下
    hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");}
  2. 内部样式表
    当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在html文档头部定义内部样式表,就像这样:
<head>
<style type="text/css">
  hr {color: sienna;}
  p {margin-left: 20px;}
  body {background-image: url("images/back40.gif");}
</style>
</head>
  1. 内联样式
    当样式仅需要在一个元素上应用一次时,可以使用内联样式。
<p style="color: sienna; margin-left: 20px">This is a paragraph</p>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 1. 介绍 浏览器可能是最广泛使用的软件。本书将介绍浏览器的工作原理。我们将看到,当你在地址栏中输入google....
    康斌阅读 2,018评论 7 18
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 3,282评论 0 7
  • 人生每一天忙忙碌碌,究竟我要到了什麼?很多人可能會問自己,很多人可能一生都不會問自己?也許有逃避有麻木有茫然不知該...
    好彩妹阅读 174评论 0 0
  • 本来是要找《法医秦明》的,下载了搜狐视频。后来无意间看到这个,突然就想看看这部早就听说过的电影。 因为时间和网速的...
    歌呗lrf阅读 425评论 0 0