Blogger Information
Blog 22
fans 0
comment 0
visits 13236
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
HTML与css初体验-2019年1月14日 20:00
小淇的博客
Original
526 people have browsed it

HTML文档结构

    1.人与人之间交流时通过双方都能听懂的语言
    2.浏览器只能解析html语言(超文本标记语言)
    3.所以用户与浏览器之间必须使用html语言
    4.人类语言是通过语法将文字组织成能够读写交流的语言
    5.html文档也必须遵守一定的结构,才可以用于编写与交流
    6.这种文档结构,就是html文档的编写规范 

    <!-- 元素是用标签来表示的 -->
    <!-- 双标签:它的内容来自当前文档 -->
    <h3>请用用HTML与我对话</h3>
    <!-- 单标签:它的内容通常是引用外部资源,例如图片,文件等 -->
    <img src="static/images/zly.jpg" alt="颖***" width="200">

常用标签实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>给内容贴上标签</title>
</head>
<!-- 将页面高度拉长,显示更多的教学内容 -->
<body style="height: 3000px">
    <!-- 
        html文档中常用的标签
        1. 标题与段落
        2. 文本修饰
        3. 列表
        4. 表格
        5. 表单
        6. 图片与媒体
        7. 布局标签
        8. 其它...

        先介绍一个大名鼎鼎, 永远活在大家想像中, 无色无味的标签<div>
        <div>是一个块级标签,所谓块级是指它默认独占一行,并且支持宽高,后面还会细说  
     -->

     <!-- 1. 标题与段落 -->
     <div>
         <!-- 标题标签共有6级: h1 ~ h6, 大多只用到h1~h3 -->
         <h1>不靠谱的承诺</h1>
         <h2>不靠谱的承诺</h2>
         <h3>不靠谱的承诺</h3>
         <p>说好一起到白头, 你却偷偷焗了油</p>
         <!-- 段落可以有多个 -->
         <p>说好一起当学渣,你却偷偷当学霸</p>
     </div>

     <!-- hr 标签是在页面中添加一条水平分隔线 -->
     <hr>

     <!-- 2. 文本修饰 -->
     <div>
         <!-- 一个段落中我只关注部分内容 -->
         <!-- strong: 文本加粗 -->
        <p>说好一起到<strong style="background: black;color:white">白头</strong>, 你却偷偷<span style="color:green">焗了油</span></p>
        <!-- em: 文本斜体 -->
        <p>说好一起当<em style="color:red">学渣</em>,你却偷偷当学霸</p>
     </div>

     <hr>
     <!-- 3. 列表: 将一组有共同特征的内容归纳在一起 -->
     <div>
        <!-- 无序列表: 每个列表项之间无特定顺序,默认前面有一个小圆点,可嵌套 -->
        <h3>购物清单</h3>
        <ul>
            <li>1. 暖手宝一个, 30元, 被窝太冷</li>
            <li>2. 笔记本电脑一台, 5000, 学php编程</li>
            <li>3. 充气娃娃一个(波波款), 2000, 孤枕难眠</li>
        </ul>

        <!-- 其实这个购物清单更适合有序列表,列表项前自动添加数值序号(从1开始) -->
        <ol>
            <li>暖手宝一个, 30, 被窝太冷</li>
            <li>笔记本电脑一台, 5000, 学php编程</li>
            <li>充气娃娃一个(波波款), 2000, 孤枕难眠</li>
        </ol>

        <!-- 定义列表,类似于名称解释,常用用来做友情链接 -->
        <dl>
            <dt>猪哥</dt>
            <dd>小猪cms开发者,php中文网创始人</dd>
            <dt>朱老师</dt>
            <dd>php中文网讲师, 猥琐的大叔级码农</dd>
        </dl>
     </div>

     <hr>

     <!-- 4. 表格 -->

     <!-- 
        表格是最重要的格式化数据的工具
        其实上面的列表内容,非常适合用表格来展示
        经过分析, 上面列表加上表头需要一个四行四列的表格进行展示

        完整表格,涉及标签: table,caption, thead,tbody,tfoot,tr,th,td
        表格至少涉及三个标签: table(表格), tr(行), th/td(单元格) 
    -->
   
    <!-- 表格中的各个标签支持一些属性设置,不过推荐用css去设置,这里咱们先了解一下这些原生属性 -->
    <table border="1" cellpadding="0" cellspacing="0" width="500" height="150">
        <caption>购物车</caption>
        <!-- 表头 -->
        <thead>
            <tr bgcolor="lightblue">
                <th>序号</th>
                <th>名称</th>
                <th>价格</th>
                <th>数量</th>
                <th>用途</th>
            </tr>
        </thead>
        
        <tr>
            <td align="center">1</td>
            <td align="center">暖手宝一个</td>
            <td align="center">30</td>
            <td align="center">1</td>
            <td align="center">被窝太冷</td>
        </tr>
        <!-- align="center"可以用到tr上再加方便 -->
        <tr  align="center">
            <td>2</td>
            <td>笔记本电脑一台</td>
            <td>5000</td>
            <td>1</td>
            <td>学php编程</td>
        </tr>
        <tr  align="center">
            <td>3</td>
            <td>充气娃娃一个(波波款)</td>
            <td>2000</td>
            <td>1</td>
            <td>孤枕难眠</td>
        </tr>
    </table>
    
    <hr>

    <!-- 5. 表单 -->

    <!--
        (1) 表单是最重要的交互工具,用户可以通过表单,将数据提交到后端服务器上进行处理
        (2) 表单涉及:form,label,input,select,textarea,button标签
        (3) 表单form标签中的元素,又称为表单控件,每个控件除了部分公共属性外,还有一些特殊属性
    -->
    <!-- 下面以用户注册表单为例进行演示 -->
    <h2>用户注册</h2>
    <form action="" method="GET">
        <div>
            <!-- 
                (1)控件的提示文本应该放在独立的label标签中,label的for属性与控件的id绑定
                (2)一旦绑定成功, 点击标签文本,焦点会自动落到对应的控件上
            -->
            <!-- 用户名: -->
            <label for="username">用户名:</label>
            <!-- name和value属性应该成对出现,将用户数据以名值对的形式提交到服务器上指定脚本处理 -->
            <!-- placeholder: 用户于设置文本框的提示文本 -->
            <input type="text" id="username" name="username" value="" placeholder="不少于6位">
        </div>

        <div>
            <!-- 再介绍一种语法,可以少写二个属性for,id,将控件元素写在label标签内 -->
           <label>
               <!-- password类型,输入的内容以*号占位符代替 -->
                密码: <input type="password" name="password" value="" placeholder="必须包括字母数字大小写" size="30">
           </label>
        </div>
        <div>
            <label>
                确认密码: <input type="password" name="password" value="" placeholder="必须包括字母数字大小写" size="30">
            </label>
        </div>

        <div>
            <!-- 单选按钮,每一组的name属性值必须相同,才会只返回唯一值,并自动设置它的checked属性 -->
            <!-- 可以事先用checked属性设置默认选中值, 标签文本与value值不必相同,value才是提交到后端的数据 -->
           <input type="radio" name="gender" id="male" value="male" checked><label for="male">男</label>
           <input type="radio" name="gender" id="female" value="female"><label for="female">女</label>
        </div>

        <div>
            <!-- 复选框 -->
            <!-- 将提示文本全部放在label标签中,确保点击标签文本,也可以选中对应的复选框 -->
            <!-- 一组复选框的name属性必须是相同的, 应该使用数组的语法,因为可以同时选择多个 -->
            <input type="checkbox" name="hobby[]" value="game" id="game" checked><label for="game">打游戏</label>
            <input type="checkbox" name="hobby[]" value="smoke" id="smoke"><label for="smoke">抽烟</label>
            <!-- 同样也是使用checked设置默认值,可同时设置多个 -->
            <input type="checkbox" name="hobby[]" value="programme" id="programme" checked><label for="programme">撸代码</label>
        </div>

        <div>
            <!-- 下拉列表,name固定,但value是动态的,select中的value根据内部的option选中状态变化 -->
            <label for="edu">您的学历:</label> 
            <select name="" id="edu" value="">
                <option value="1">幼儿园算吗?</option>
                <!-- selected设置默认项 -->
                <option value="2" selected>小学没毕业</option>
                <option value="3">不好意思,博士后</option>
            </select>
        </div>

        <!-- 文本域,其实就是多行文本框 -->
        <div>
            <label for="common">请留言:</label>
            <textarea name="" id="common" cols="30" rows="10" placeholder="不超过100字" value=""></textarea>
        </div>
        
        <!-- 按钮 -->
        <input type="submit" value="提交">

        <!-- 重置功能极少用到,推荐不要再使用,而是通过其它方式 -->
        <input type="reset" value="重置">

        <!-- 推荐使用语义化的button标签 -->
        <!-- button默认类型为提交submit,通常是修改为button类型,最后通过ajax异步提交表单 -->
        <button type="button">注册</button>
    </form>
</body>
</html>
运行实例 »

点击 "运行实例" 按钮查看在线实例


常用标签:

基本

<html>…</html>      定义 HTML 文档

<head>…</head>   文档的信息

<meta>                    HTML 文档的元信息

<title>…</title>        文档的标题

<link>                      文档与外部资源的关系

<style>…</style>    文档的样式信息

<body>…</body>   可见的页面内容

<!--…-->                 注释

 

文本

<h1>...</h1>               标题字大小(h1~h6)

<b>...</b>                   粗体字

<strong>...</strong>   粗体字(强调) 

<i>...</i>                      斜体字 

<em>...</em>              斜体字(强调)

<center>…</center>   居中文本

<ul>…</ul>                 无序列表 

<ol>…</ol>                 有序列表

<li>…</li>                    列表项目

<a href=”…”>…</a>    超链接

<font>                         定义文本字体尺寸、颜色、大小

<sub>                         下标

<sup>                         上标

<br>                           换行

<p>                            段落

 

图形

<img src=’”…”>   定义图像

<hr>                   水平线

 

表格

<table>…</table>   定义表格

<th>…</th>            定义表格中的表头单元格

<tr>…</tr>             定义表格中的行

<td>…</td>           定义表格中的单元

 

其它

<form>…</form>    定义供用户输入的 HTML 表单

<frame>                 定义框架集的窗口或框架


css基本语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>给内容穿上衣服(CSS)</title>
</head>
<body>
    <!-- 直接给元素设置样式可使用style属性 -->
    <!-- 多个css声明之间使用分号隔开 -->
    <h3 style="background-color:lightgreen; color: red;">样式规则 = 选择器 + 样式声明 </h3>
    <h3 style="background-color:lightgreen; color: red;">样式规则 = 选择器 + 样式声明 </h3>
    <h3 style="background-color:lightgreen; color: red;">样式规则 = 选择器 + 样式声明 </h3>

    <!-- 发现每个div样式是完全相同的,所以可以将这些样式规则写到一个style标签中,在当前文档中引用 -->
    <style>
        /* 标签选择器 */
        h3 {
            background-color:lightgreen; 
            color: red;
            /* 后面的样式声明可以覆盖前面的声明,这就是样式层叠的意义 */
            color: darkblue; 
        }
    </style>
    <hr>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

 基本语法: 选择器 {样式声明}
        1. 选择器: 最基本的有标签,类class, id 
        2. 样式声明: 包括属性和值二部分
        3. 样式规则 = 选择器 + 样式声明 


选择器与优先级实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>常用选择器与优先级(selector)</title>
    <style>
        /* 标签选择器 */
        h3 {
            background-color:lightgreen; 
            color: red;
        }

        /* class类选择器 */
        .bg-blue {
            background-color: skyblue;
        }

        /* id选择器 */
        #bg-yellow {
            background-color: yellow;
        }

    </style>
</head>
<body>
     <!-- 背景变更为天蓝色,可以添加一个class属性 -->
     <!-- class类样式选择器的优化级大于标签选择器 -->
    <h3 class="bg-blue">样式规则 = 选择器 + 样式声明</h3>
    <!-- class属性可应用在多个元素上,使他们具有相同的样式 -->
    <!-- 如果要将下面的h3背景改为黄色, 可以添加id属性 -->
    <!-- id选择器的优先级大于class选择器 -->

    <!-- 还有比id级别更高的选择器吗?选择器是没有了,但属性有, 可以给元素添加style属性
    直接将样式作用到当前元素上 -->

    <!-- 再弱弱的问一声, 还有比style属性再牛逼的技术设置元素样式吗? 还真有, 就是JavaScript代码 -->
    <h3 class="bg-blue" id="bg-yellow" style="background-color: pink">样式规则 = 选择器 + 样式声明</h3>
    
    <!-- JavaScript还没有学习,大家不必管代码怎么写,只要关注它的功能就可以 -->
    <script>
        // 用js代码将id为bg-yellow的元素的背景色设置为浅灰色
        document.getElementById('bg-yellow').style.backgroundColor = 'lightgrey';
    </script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:
        1.常用的选择器: 标签, class, id,还有一个*,选择所有元素,大家课后可以试验一下
        2.这三个常用选择器的优先级是: 标签 < 类class < id 
        3. style属性和js脚本不是选择器, 不参数排名

css盒模型实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>一切皆盒子(box)</title>
    <style>
    .box1 {
    width: 200px;
    height: 200px;
    background-color: lightblue;

    padding-top: 20px;
    padding-right: 30px;
    padding-bottom: 40px;
    padding-left: 50px;

    /* 可以简写:按顺时针 */
    padding: 20px 30px 40px 50px;

    /* 如果左右相等30,而上下不相等20,40,可以这样简写 */
    padding: 20px 30px 40px;

    /* 如果上下也相等40 */
    padding: 40px 30px;

    /* 大家可注意到规律了,不论是二个,还是三个参数,第二个总表示左右内边距 */

    /* 如果四个方向全部相等,例如20 */
    padding: 20px;

    /* 边框与内边距相比, 不是透明的是可见的,除了宽度,还可设置线条样式和颜色 */
    /* 上边框 */
    border-top-width: 10px;
    border-top-style: solid;
    border-top-color: red;

    /* 右边框 */
    border-right-width: 10px;
    border-right-style: dashed;
    border-right-color: green;

     /* 下边框 */
     border-bottom-width: 10px;
     border-bottom-style: dotted;
     border-bottom-color: blue;

      /* 左边框 */
      border-left-width: 10px;
      border-left-style: double;
      border-left-color: black;

      /* 以上样式与可以简写 */
      border-top: 10px solid red;
      border-right: 10px dashed green;
      border-bottom: 10px dotted blue;
      border-left: 10px double black;

      /* 如何每个方向的边框宽度,样式与颜色是一样的,还可以进一步简写 */
      border: 10px solid red;

    /* margin有很多特殊的规则,后面单独讨论 */
}

.box2 {
    
    height: inherit;
    background-color: wheat;
}
    </style>
</head>
<body>
     <div class="box1">
         <div class="box2"></div>
     </div>
     

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

 1. 盒模型是布局的基础,页面上的一切可见元素皆可看做盒子
        2. 盒子默认都是块级元素: 独占一行,支持宽度设置
        (根据盒子模型示意图分析)
        3. 盒子模型分为三个层级:
            1. 内容级: 宽高和背景三个属性
                (1): width
                (2): height
                (3): background-color (默认透明)
            2. 元素级(可视范围)
                (1): 包括内容级(width + height + background)
                (2): 内边距: padding
                (3): 边框: border
            3. 位置级:margin, 决定当前盒子与其它盒子之间的位置与关系


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post