搜索
首页web前端html教程CSS3秘笈第三版涵盖HTML5学习笔记1~5章_html/css_WEB-ITnose

第一部分----CSS基础知识 第1章,CSS需要的HTML

HTML越简单,对搜索引擎越友好

div是块级元素,span是行内元素

标签包含一组相关的内容,就像一本书中的章节一样

标签包含通常放在网页底部的一些信息,如版权声明、法律信息、一些网站的导航链接,等等

标签用于说明图

让IE8及更早版本支持HTML5,可以使用html5shiv,不过,也只是接受了HTML5标签并实现应用了标签的CSS,并没有使浏览器“理解”HTML5的标签是干啥的,比如对于

对网页进行验证

W3C网站( http://validator.w3.org/)

Firefox( http://chrispederick.com/work/web-developer),扩展 http://users.skynet.be/mgueury/mozilla/

Chrome( http://bit.ly/SCONRY)

Safari( www.zappatic.net/safaritidy)

对于包含多个相关项目的列表,使用无序列表

    对于表示过程步骤或定义一组项目的顺序,使用有序列表

    创建术语表及其定义或描述,使用

    定义列表,
    定义术语,
    定义描述

    包含一段引用语,长段落使用

    ,简短引语使用

    使用引用书的标题、新闻报道或网站

    使用

    标识和提供该网页作者的联系信息

    在没有适当的HTML标签,又要标识某一元素时,可以使用

    注:不要滥用

    ,要记得关闭标签

    DOCTYPE文档类型,可以给浏览器一个提示,现在这个网页是用的什么版本的HTML,使得浏览器可以正确的解释它

    对于使用了HTML5的文档,声明如下:

    <!DOCTYPE html>

    对于旧版的HTML或XHTML,如HTML 4.01 Transitional或XHTML 1.0 Transitional,文档声明就复杂了

    <!-- HTML 4.01 Transitional文档声明 --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- XHTML 1.0 Transitional文档声明 --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

    添加meta标签,可以使IE8停止无厘头的怪异行为(怪异模式,进入IE7模式),使IE8采用其最标准的兼容模式来显示网页

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    注:要放在head标签中,最好是title标签下

    第2章,创建样式和样式表

    简单的样式也会包含几个元素:

    Selector(选择器)、Declaration Block(声明块)、Declaration(声明)、Property(属性)、Value(值)

    注:在每个属性/值对的后面一定要加上一个分号(;),省略分号会使得样式表无效。

    内部样式表

    使用

    HTML5对于内部样式表,只要求有开始

    <style type="text/css">

    外部样式表

    使用HTML的标签,或者CSS自己的@import指令,@import指令可以实现无法做到的一件事,将多个样式表附到一个外部样式表上。

    检验CSS

    W3C: http://jigsaw.w3.org/css-validator

    用HTML链接外部样式表

    <!-- HTML5: --><link rel="stylesheet" href="css/style.css"><!-- HTML4.01,需要增加type属性: --><link rel="stylesheet" type="text/css" href="css/style.css"><!-- XHTML,要有关闭标签: --><link rel="stylesheet" type="text/css" href="css/style.css" />

    使用CSS链接外部样式表

    <style><!-- HTML5的写法 HTML4.01及XHTML还需要加上type="text/css" -->     @import url(css/styles.css);</style>

    注:应该将所有@import行放在所有CSS规则之前,web浏览器会忽略任何在CSS规则之后引入的样式表

    行内样式

    将样式放在HTML元素的style属性里面定义,这是非常不好的。

    第3章,选择器:明确设置哪些样式

    标签选择器:整体控制

    标签选择器也叫类型选择器、元素选择器,作用于HTML的元素

    类选择器:精确控制

    样式表中类名称命名规范

    1、所有类选择器的名称必须以一个圆点开头

    2、CSS只允许类名使用字母、数字、连字符(-)、下划线(_)

    3、在圆点之后必须以字母开头

    4、类名称区分大小写

    注:在HTML中,作为类属性的一部分,不需要在类名前加一个点

    ID选择器:控制特殊的网页元素

    群组选择器

    为了使多个选择器成为一个群,只需要创建一个用逗号分隔的选择器列表即可。

    h1,h2,h3{    color:#333;}

    通用选择器(*)

    *号是选择每一个标签的通用选择器标志

    1 <html>2      <head>3           <title>A Simple Document</title>4      </head>5      <body>6           <h1 id="Header">Header</h1>7           <p>A paragraph of <strong>important</strong>text.</p>8      </body>9 </html>

    涵盖

    ,标签,使成为两者的祖宗。同样地,在另一个标签里面的标签就是派生标签

    将上述HTML代码转换成一张图:

    祖先标签:当HTML标签涵盖另一个标签时,HTML就成了该标签的祖先。就是所有其他标签的祖先标签,

    就是

    ,

    ,的祖先标签

    派生标签:处在一个或多个标签内部的标签就是派生标签。

    是的派生标签,是及的派生标签 <p class="sycode"> <strong>父标签:</strong>父标签是离另一个标签最近的祖先 </p> <p class="sycode"> <strong>子标签:</strong>直接被另一个标签包围的标签 </p> <p class="sycode"> <strong>同胞标签:</strong>同一个标签的子标签 </p> <h3 id="创建派生选择器">创建派生选择器</h3> <p class="sycode"> 多个选择器以空格隔开,类似群组选择器以逗号分开 </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>h1 strong{color:#666} /* 表示只要出现h1里面的strong标签,字体都改成红色,其他地方的strong不变 *//*如果之间没有空格,表示的意义将完全不同:*/p.intro; /*这意味着:这个intro类必须专用于p标签(<p class="intro">)才有效。*/</pre> </p> <h2 id="伪类和伪元素">伪类和伪元素</h2> <h3 id="给链接定义样式">给链接定义样式</h3> <p class="sycode"> a:link:指访问者还没有访问到、鼠标也尚未滑到过或单击过的所有链接 </p> <p class="sycode"> a:visited:指依据Web浏览器历史记录,访问者之前已经单击过的链接 </p> <p class="sycode"> a:hover:在访问者鼠标滑过链接时改变链接的展现效果 </p> <p class="sycode"> a:active:当访问者单击链接时的展现效果 </p> <p class="sycode"> 伪元素::first-letter,:first-line </p> <p class="sycode"> CSS3修改了这些伪元素的语法。在CSS2.1中,伪类用一个冒号开头,像这样 :first-letter,CSS3在此基础上又加了一个冒号,以便于从伪元素中辨别出项:hover这样的伪类。 </p> <p class="sycode"> :focus:访问者执行某些动作时起作用。类似访问者单击网页文本框,将焦点放在了文本框上。只对处于焦点的元素起作用 </p> <p class="sycode"> :before:能在指定的元素前添加内容。 </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'><p class="tip"></pre> </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>p.tip:before{ content:"HOT TIP!"}/* 会在遇到<p>标签中的tip类时,在段落前插入文本"HOT TIP" */</pre> </p> <p class="sycode"> 用这个选择器添加文本的技术术语叫做“创造内容” </p> <p class="sycode"> :after:与:before一样,也会创造内容,不过是添加在元素后面。 </p> <p class="sycode"> 注:IE8+及其他主流浏览器都支持:before和:after选择器 </p> <p class="sycode"> 注::before、:after与:first-letter、:first-line一样,都是伪元素,在CSS3中都必须使用::before、::after,但浏览器都支持单冒号版本,为此可以继续使用:before、:after </p> <p class="sycode"> ::selection:针对访问者已经在网页上选中的项目。该选择器只能设置color,background-color属性。没有单冒号版本 </p> <p class="sycode"> 注:这个选择器在IE9、Opera、Chrome、Safari都是有效的,但在IE8及Firefox中不行,不过可以通过添加厂商前缀,使Firefox支持它,例: </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>::-moz-selection{ color:#fff; background-color:#999;}</pre> </p> <h2 id="属性选择器">属性选择器</h2> <p class="sycode"> 类似img[title],input[type="text"],a[href^="http://"]等 </p> <h3 id="子选择器">子选择器</h3> <p class="sycode"> 使用尖括号(>)。与派生选择器类似,用子选择器可以给另一个标签的子标签设置样式 </p> <p class="sycode"> 与派生选择器应用于同一个标签的所有派生标签不同,子选择器可以让你指定要的是哪个父标签的哪个子标签,亦即只会影响直接子元素,而不影响间接子元素。 </p> <h3 id="相邻同胞选择器">相邻同胞选择器</h3> <p class="sycode"> 使用加号(+)。只选择相邻的第一个子元素,h2+p只会选择h2标签之后的一个p标签 </p> <h3 id="通用的同胞组合选择器">通用的同胞组合选择器</h3> <p class="sycode"> 使用波浪线(~)。选择所有同胞子元素,h2~p会选择所有与h2同级的所有同胞p标签 </p> <p class="sycode"> :first-child:只选择和格式化该元素的第一个子元素 </p> <p></p> <p class="sycode"> 如果要选择上图所示的第一个h1标签,可以创建类似选择器:h1:first-child(写在子元素上),问题在于,如果将div底下的h2改成 </p> <p class="sycode"> h1,那么这个h1也会被选中 </p> <p class="sycode"> :last-child与:first-child类似,只不过选择的是最后一个 </p> <p class="sycode"> 以上几个属性可以查看链接: HTML5与CSS3基础教程第八版学习笔记7~10章中的第九章,定义选择器与本章进行对比、参照 </p> <p class="sycode"> nth-child() </p> <p class="sycode"> 可以轻松对表格隔行进行设置不同样式: </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>tr:nth-child(odd) { background-color:#333; /* 对奇数行设置 */}tr:nth-child(even) { background-color:#666; /* 对偶数行设置 */}</pre> </p> <p>还可以在一个系列中,从它的第二个子元素开始,每个两个子元素选择一个子元素。例:想在一个行中,从第二个表格单元开始,每三个表格单元(</p> <td>标签)就高亮一次: <p class="sycode"> <pre class='brush:php;toolbar:false;'>tr td:nth-child(3n + 2) { background-color:#900;}</pre> </p> <p class="sycode"> 注:3n表示每三个元素,4n表示每四个元素,加号后面表示从第几个元素开始 </p> <p class="sycode"> 注:所有现代浏览器包括IE9及以上版本,都支持:last-child,:first-child,:nth-child(),但IE8不支持 </p> <h3 id="子类型选择器">子类型选择器</h3> <p class="sycode"> :first-of-type:与:first-child类似。 </p> <p class="sycode"> :last-of-type:与last-child类似 </p> <p class="sycode"> 注:这些类型选择器必须是一个特殊标签的子标签,因此:p:first-of-type表示“一个段落标签的第一个子标签” </p> <p class="sycode"> :nth-of-type:与nth-child类似 </p> <h3 id="not选择器">:not选择器</h3> <p class="sycode"> :not选择器也被称作否定伪类,可以选择不是其他东西的某件东西。 </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>p:not(.classy){ color:red;} /* 选择除了类为classy之外的所有段落 */</pre> </p> <p class="sycode"> 1、用:not选择器只能使用简单选择器,img:not(.portrait),li:not(:first-child)等 </p> <p class="sycode"> 2、不能使用派生选择器 </p> <p class="sycode"> 3、不能使用多个not选择器 </p> 第4章,用样式继承节省时间 <p class="sycode"> 可以查看链接: HTML5与CSS3基础教程第八版学习笔记7~10章第七章,CSS构造块进行对比、参照 </p> <p class="sycode"> 1、一般来说,影响网页元素位置的属性,或者页边距、背景颜色、元素的边框线等,都不会被继承 </p> <p class="sycode"> 2、Web浏览器用它们自己固有的样式为各种标签设置样式,当给网页上定义一种字号,并将它应用于</p>标签时,标题还是会大于段落文字等等。即,继承不会影响浏览器对于某些元素的內建样式。 <p class="sycode"> 3、当样式发生冲突时,更具体的样式会胜出 </p> 第5章,用层叠管理多样式 <p class="sycode"> 如果一个标签本身没有设置任何样式,那么当继承来的属性发生任何冲突,离它最近的那个祖先标签就会胜出 </p> <p class="sycode"> 任何直接应用于指定标签的样式,都将胜出 </p> <h2 id="用权重值决定哪种样式胜出">用权重值决定哪种样式胜出</h2> <p class="sycode"> 1、一个标签选择器值1分 </p> <p class="sycode"> 2、一个类选择器值10分 </p> <p class="sycode"> 3、一个ID选择器值100分 </p> <p class="sycode"> 4、一个內建样式值1000分 </p> <p class="sycode"> 注:计算权重值所涉及的算术实际上比这要复杂一些,但这个公式在大多数情况下都使用,欲了解Web浏览器实际上如何计算权重值,可登录以下网站: www.w3.org/TR/css3-selectors/#specificity </p> <p class="sycode"> 注:伪元素(如::first-line)通常被当作标签选择器对待,值1分,伪类(如:link)则被当作类对待,值10分。 </p> <p class="sycode"> 由于派生选择器由几个选择器组成,所以算术上会复杂些,权值是所有选择器值的总和 </p> <p class="sycode"> 注:继承来的属性没有权值 </p> <h2 id="权重值相同时-最后一个样式胜出">权重值相同时,最后一个样式胜出</h2> <p class="sycode"> 若内部样式表和外部样式表发生冲突时,两种样式表在HTML中所处的位置就非常重要,若<style>标签在<link>标签之前,外部样式表将胜出。 </style></p> <p class="sycode"> 建议:最好先列出所有的外部样式表,并且当绝对需要在某一个网页中应用一个或多个样式表时,最好只使用一个内部样式表 </p> <h2 id="忽略权重值">忽略权重值</h2> <p class="sycode"> 当一定、必须要确保某一个特定的属性不能被另一个更具体的样式覆盖时,就可以使用在需要保护的属性后面插入!important,可以避免被权重值更大的属性覆盖。 </p> <p class="sycode"> 注意:是对个别属性应用,而不是对整个样式。最后,当两个都有!important的样式冲突时,更具体的样式会胜出。 </p> <h2 id="选择性覆盖">选择性覆盖</h2> <p class="sycode"> 1、使用内部样式表,定义要覆盖的样式 </p> <p class="sycode"> 2、使用另一个外部样式表,定义要覆盖的样式,并在最后面引入 </p> <h2 id="避免权重战争">避免权重战争</h2> <p class="sycode"> <pre class='brush:php;toolbar:false;'><div id="article"> <p>A paragraph</p> <p>Another paragraph</p> <p class="special">A Special paragraph</p></div></pre> </p> <p>首先定义:</p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>#article p{ color:red;} </pre> </p> <p>如果要更改</p> <p class="special">段落,则必须定义如下规则</p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>#article .special{ color:blue;}</pre> </p> <p class="sycode"> 冗长而没啥大用,当直接将</p> <p class="special">复制到别的地方时,样式并不会改变 </p> <p class="sycode"> 若用类代替: </p> <p class="sycode"> <pre class='brush:php;toolbar:false;'>.article p{ color:red;}p.special{ color:blue;}</pre> </p> <p class="sycode"> 减少了冗余,并且将</p> <p class="special">剪切到其他的地方,样式依然生效 </p> <p class="sycode"> 建议:尽量使用类选择器,避免使用id选择器 </p> <p class="sycode"> 关于为什么避免使用ID选择器的详细讨论: http://csswizardry.com/2011/09/when-using-ids-can-be-a-pain-in-the-class </p> <p class="sycode"> CSS reset: http://meyerweb.com/eric/tools/css/reset </p> <p class="sycode"></p> <p class="sycode"></p> <p class="sycode"> </p> <p class="sycode"></p> <p class="sycode"></p> <p class="sycode"> </p> <p class="sycode"></p> <p class="sycode"></p> </td>
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
&gt; gt;的目的是什么 元素?&gt; gt;的目的是什么 元素?Mar 21, 2025 pm 12:34 PM

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

&lt; datalist&gt;的目的是什么。 元素?&lt; datalist&gt;的目的是什么。 元素?Mar 21, 2025 pm 12:33 PM

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

&lt; meter&gt;的目的是什么。 元素?&lt; meter&gt;的目的是什么。 元素?Mar 21, 2025 pm 12:35 PM

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

视口元标签是什么?为什么对响应式设计很重要?视口元标签是什么?为什么对响应式设计很重要?Mar 20, 2025 pm 05:56 PM

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

我如何使用html5&lt; time&gt; 元素以语义表示日期和时间?我如何使用html5&lt; time&gt; 元素以语义表示日期和时间?Mar 12, 2025 pm 04:05 PM

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么?&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么?Mar 20, 2025 pm 06:05 PM

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

HTML5中跨浏览器兼容性的最佳实践是什么?HTML5中跨浏览器兼容性的最佳实践是什么?Mar 17, 2025 pm 12:20 PM

文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

如何使用HTML5表单验证属性来验证用户输入?如何使用HTML5表单验证属性来验证用户输入?Mar 17, 2025 pm 12:27 PM

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),