美文网首页饥人谷技术博客
HTML4.01+CSS2.0教程(一)

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

作者: _Dot912 | 来源:发表于2017-07-16 22:09 被阅读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>
    

    相关文章

      网友评论

        本文标题:HTML4.01+CSS2.0教程(一)

        本文链接:https://www.haomeiwen.com/subject/kwuxkxtx.html