Head First html and css学习纪录

第一章 认识html

web语言

html(告诉浏览器所要显示的内容)

<html>#告诉浏览器内容是html
#浏览器页面的标题
  <head> #告诉浏览器head开始
    <title>Starbuzz Coffee</title>
  </head>#告诉浏览器head结束
#浏览器显示的页面主体
  <body>
        <h1>Starbuzz Coffee Beverages</h1>#一级标题
        <h2>House Blend,$1.49</h2>        #二级标题
        <p>A smooth, mild blend of coffe from Mexico,
                Bolivia and Guatemala.</p>
   </body>
</html>

css(告诉浏览器如何显示)

<html>
    <head>
        <title>Starbuzz Coffee's Misson</title>
       <style type = "text/css">         #style元素定义界面样式
            body{
             background-color:#d2b48c;   #设置背景色
             margin-left:20%;            #设置左右边距
             margin-right:20%;
             border:2px dotted black;    #定义页面主体边框为虚线颜色为黑色
             padding:10px 10px 10px 10px #在页面主体创建内边距
             font-family:sans-serif;     #定义文本使用的字体
             }
    </style>     
    </head>
    <body>
        <h1>Starbuzz Coffee's Missson</h1>
        <p>To provide all the caffeine that you need to power your life</p>
        <p>Just drink it.</p>
    </body>
</html>

h1 -> h6 共6级标题 h1字体最大 h6字体最小
元素=开始标记+内容+结束标记
例如:这里写图片描述是一个《h1》元素

第二章 深入了解超文本

这里写图片描述
href(hyper text reference)超文本引用,
“xxxx”是浏览器调用的web页面等等
链接文本是浏览器中高亮显示的文字或图片等

相对路径的概念:

父目录->子目录
这里写图片描述

如果你是lounge.html里的一个超文本指向about目录中的directions.html
<a href="about/directions.html">detailed directions</a>

子目录->父目录

如果你是elixir.html中的一个超文本指向lounge.html
那么<a href="../lounge.html">Back to the Lounge</a>
../ 返回本文档的上一级目录

第三章 创建网页:构建模块

元素列表

  • <q>元素 效果为加上双引号,不同浏览器效果可能不同
  • <a>元素 创建超文本
  • <em>元素 使用不同的方式展示文本
  • <blockquote>元素 长引用时使用,自成一段
  • <li>元素 成为列表中的一个列表项
  • <ol>元素 包围<li>元素后构成一个有序列表
  • <ul>元素 包围<li>元素后构成一个无序列表
  • <br>元素 在需要换行的地方插入一个换行符
  • <code>元素 显示计算机程序代码
  • <time>元素 告诉浏览器这个内容是时间
  • <strong>元素 标记你希望强调的文本
  • <pre>元素 使浏览器按你输入的方式显示文本
  • <img>元素 显示图片

  • void(空元素) <br>元素 <img>元素 ,这类元素使用时只用<br> 不需要<br>xxxx</br>这样来调用。

  • 普通元素 <p>元素<h1>元素<q>元素,使用时一定要<p>xxxx</p>来调用。

EXAMPLE

  <body>
    <h1><strong>Welcome to the test web</strong></h1>
    <time>2017/5/13</time>
    <p>
      <ol>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      </ol>
    </p>
    <blockquote>
        a<br>
        b<br>
        c<br>
    </blockquote>
    <h2>Directions</h2>
    <p>
      <q>boying747</q>
    </p>
  </body>
</html>

第四章

将你的网站放在网上

认识绝对路径

URL(uniform resource locators)
通用定位符

浏览器通过url可以访问全球所有的公开网站(一般情况下)
URL的构成http://www.baidu.com/index.html
‘http://’获取信息使用的协议
‘baidu.com’域名,具有唯一性,由专门的部门进行管理
‘www.baidu.com’网站名
‘/index.html’从根目录到文件的绝对路径

绝对路径必须从根目录开始 也就是 ‘/’

一些属性的作用

title属性

<a href="xxxx"
   title="搜索网站">百度</a>

效果为鼠标悬浮在百度上时会出项“搜索网站”的字样

id属性
首先创建一个标记点
比如在根目录下有一个“index.html”其中有一行是

<hi id="one">The One</h1>

然后在另一个叫m.html文件中

<a href="xxxx/index.html#one">yyy</a>

xxx 为index对m的相对路径
效果为点击yyy后页面跳转至h1元素处

target属性

<a target="_blank"
   href="xxxx">zzzz</a>

效果为点击zzzz后,浏览器在新窗口中打开“xxxx”

连接到网络中

将你网站写好后,选择一家托管公司(Amazon,阿里云等)将你文件传输到托管公司创建的根文件夹中,从托管公司处选择你的网站名。这样所有人都可你通过浏览器访问你的网站了。

第五章

给网页添加图像

<img>元素

src属性 指定web页面显示图像文件的位置
alt属性 当图案未成功显示时,显示alt属性的文本。
width属性 指定浏览器在页面显示图像的宽
heigh属性 指定浏览器在页面显示图像的高

EXAMPLE:

<img src="https://img-blog.csdn.net/20170513144302930?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzg1ODkyMzU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast"
     alt="图片不见了"
     weidth="48"
     height="100">
     </p>     

常见图像格式

JPEG:有损压缩,体积小,不支持动画,不支持透明度
适用于照片等
PNG:无损压缩,体积大,不支持动画,支持透明度
适用于位图和logo
GIF:无损压缩,体积小,支持动画,支持透明度
适用于动图

第六章

严格的html规则

W3C(万维网协会)规定html的标准
html5是最新的标准

html标准现在是一个动态标准

会随着时间更新,增加新的特性

doctype标记

放在html文件的最上面告诉浏览器你的文档类型

meta标记

指定字符编码

严格嵌套

不能把<a>元素嵌在<a>元素中

EXAMPLE:

<!doctype html>
<html>
  <head>
  #meta标记在title元素之前
    <meta charest="utf-8">
    <title>Starbuzz Coffee</title>
  </head>
  <body>
        <h1>Starbuzz Coffee Beverages</h1>
        <h2>House Blend,$1.49</h2>
        <p>A smooth, mild blend of coffe from Mexico,
                Bolivia and Guatemala.</p>
   </body>
</html>

w3c的验证工具

http://validator.w3.org
帮助你编写出更规范的html页面

第七章

css入门
让你页面更好看

css规则

p{
   background-color:red;
   color:mraoon;
   }

这就是一个css规则,p是一个选择器(selector)

组合选择

h1,h2{
      xxxxxxx;
      }

h1和h2会同时应用{ }里的规则

如果h2中要增加其他的规则,直接在后面增加h2的新规则

h1,h2{
      xxxxxxx;
      }
   h2{
       xx;
       }

继承

当为body增加一个css规则时,body内的元素也引用这个规则

覆盖继承

当body的子类,比如h1元素增加和body相同的css规则时h1元素的css属性优先级更高

类属性

添加到类的方法

<p class="greentea">xxx</p>

类名:greentea

对类应用css规则

p.greentea{
           xxxxx;
           }

对所有greentea类中的 p(段落)应用{xxx}规则

.greentea{
          xxxxxx;
          }

对所有greentea类的成员应用{xxx}规则

类的多重添加

<p class="greentea redtea yellowtea">xxx</p>

当出现以下情况会p会应用那个规则呢?

p{
  xxxx;
  }
.greentea{
          yyyy;
          }
p.greentea{
           dddd;
           }
p.redtea{
         cccc;
         }

规则是越特定的规则优先级越高,当优先级相同时应用排列靠后的规则。所以p会应用p.redtea{ cccc; }

css的验证工具

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

css的一些属性

  • top 控制元素顶部的位置
  • color 设置文本元素字体颜色
  • text-align 控制文本向左,向右,居中对齐
  • letter-spacing 在字母之间设置间距
  • background-color 控制元素的背景颜色
  • font-style 设置斜体文字
  • font-weight 控制文本的粗细
  • font-size 控制文本文字的大小
  • font-family 控制文本文字的字体
  • border 在元素周围加边框
  • left 指定一个元素左边所在位置
  • list-style 改变列表中列表项的外观
  • padding 控制内边距
  • line-height 设置文本元素的行间距
  • background-image 在元素后面放一个图像

CSS打包

将css规则写入一个名为 xxx.css的文件,当html调用时

<html>
  <head>
    <title>Starbuzz Coffee</title>
    <link type="text/css" rel="stylesheet"
            href="xxx.css>"
  </head>
  <body>
        .....
   </body>
</html>

link元素取代了style元素,创建了一个外部链接,链接了css规则。

第八章

增加字体和颜色样式

web字体调用

@font-face规则

<html>
  <head>
    <title>Starbuzz Coffee</title>
  </head>
  @font-face{
             font-family:"xxxxx";
             src:url("一个网络字体的绝对路径)
             }
  <body>
        .............
   </body>
</html>

之后就使用普通的调用方法,调用你所起的xxxx名字体。
@import 导入其他的css文件
@media 为手机等设备创建css规则

css中的单位表示方法

  • px 像素
  • em 相对度量单位
  • 关键字
  • 百分比
body{
     font-size:14px;
     }
h1{
   font-size:1.2em
   }

此时h1的大小为14*1.2=17px

body{
     font-size:14px;
     }
h1{
   font-size:150%
   }

h1的大小为14*1.5px

web颜色

rgb色

  1. 百分比表示
  2. 数字表示
  3. 16进制数表示

    第九章

    盒模型这里写图片描述

使用多个样式表

link元素链接多个css样式表,当样式表的css相互之间有冲突时,在下面link链接的样式表优先级高。

media属性

1.放在link元素中为特定的设备应用样式表

<link href="ccccc" rel="stylesheet" media="screen and (max-device-width:480px)">

此样式表会应用于有屏幕且宽度小于480的设备

2.直接应用css规则中

@media screen and (max-device-width:480px){
                       h1{
                           xxxx;
                           }
                       ....
                       }

id选择器

首先创建id<h1 id=”footer”>
然后

 #footer{
        xxxx;
         }

就可以对h1单独的设置css规则

第十章

高级web建设

div元素

div元素将逻辑区,也就是页面上彼此相关的一组元素包围起来。

<div id="cats">
     <h1></h1>
     <p>
     猫的xxxxxx.....
     </p>
</div>

这样就可将它们视为一个整体,应用css规则。
应用方法:

#cats{
      background-image:url(xxxx)
      }

span元素

创建内联字符与元素的逻辑分组
用法与div元素相同

伪类

当我们点击a元素后,a元素的颜色发生了改变。这种变化的状态一共有5种。它的优先级按下表排列。

  1. a:link 链接未访问
  2. a:visited 链接已访问
  3. a:hover 鼠标悬停
  4. focus 使用TAB键轮流跳转页面链接的状态
  5. active 第一次单击后就处于这个状态

伪类的使用方法

#cats a:link{
               xxxxxxx;
             }

这个css规则会应用在所有id 为cats的未访问的a元素

层叠

浏览器调用css的规则

第一层级 作者的css
第二层级 读者的css
第三层级 浏览器默认的css

例如当浏览器对html里的一个h1元素匹配css规则

  1. 拿到3个层级的css规则
  2. 找到所有匹配h1元素的css规则 font-size属性
  3. 按层级排序
  4. 按特定性原则进行排序
  5. 对于冲突的规则,按照它们各自在样式表中出现的顺序进行排序
  6. 应用最优先的css规则

    计算特定性的方法

    000
    一个三位数,如果选择器包含id在百位上加一分。如果包含类或伪类在十位上加一分。如果包含元素名在个位上加一分。
    总分越高特定性越强。

第十一章

摆放元素

流(flow)的概念

浏览器读取html,根据顺序摆放页面。
例如:

<html>
      <head>
        <h1>.....</h1>
      </head>
      <body>
            <p>.......</p>
            <h2>......</h2>
      </body>
</html>

摆放顺序为
这里写图片描述
这样子。
其中块元素,浏览器会自动增加换行符。俩个块元素上下排列是它们的距离为俩个块元素中大的外边距。
而内联元素则会水平排列起来。俩个内联元素左右排列时它们之间得距离是俩个外边距之和。

几种布局方式

流体布局(liquid layouts)

默认的布局形式。主要由float属性确定。

冻结布局(frozen layouts)

通过设定一个包含body元素的div元素,固定页面布局,使得布局不随着浏览器的缩放而变化。

凝胶布局

与冻结布局基本相同,但调整div的左右边距为auto,使得布局一直保持在中间。

css表格显示

将页面以表格的布局划分,每个格子必须放置块元素。

使用方法

  1. 修改html
<div id="tableContainer"> #整个表格
    <div id="tabRow">     #表格的行
        <div id="main">   #表格的列
         .....
         </div>
         ....
    </div>
</div>

2.增加css

#行与列
div#tableContainer{
                   display:table;
                   }
#行                   
div#tableRow{
             display:table-row;
             }
#列
#main{
      display:table-cell
      }

几种定位方法

  1. 绝对定位:会浮在页面之上,位置由提供的参数决定
  2. 固定定位:会固定在浏览器窗口的某个位置不动,位置由提供的参数决定
  3. 相对定位:会以某个元素为参照锚定位置,位置由提供的参数决定
    (3种定位方式都由 position属性规定)

第十二章

html5标记

html5的概念

将常用的一些div结构独立出来赋予特有的名称。还增加了一些具有新功能的元素。

html5元素

<aside> 用于侧边栏
<mark> 突显文字
<progress>显示任务完成度
<footer> 页脚
<section>定义区块
<header>页眉
<meter>显示某个范围的度量
<video>为网页加入视频
<nav>导航栏
<audio>提供声音
<article>大块文字,如新闻等
<time>提供时间
<canvas>显示由js绘制的画面与动画
<figure>定义代码,图标,照片等为独立内容

1.首先创建一组链接<a>xxxxx</a>……
2.把他们变成无序列表
3.插入html页眉之下
4.把它们包含在<nav>元素中

<video>详述

<video controls autoplay width="512" height="288"
 src="xxxxxx"> </video>

可以看到video的使用方法与<img>元素类似。

video属性

  1. poster 未播放是提供封面
  2. autoplay 自动播放
  3. loop 循环播放
  4. src 播放文件地址
  5. preload 细致的控制视频加载方式
  6. width 设置播放窗口的宽
  7. height 设置播放窗口的高
  8. controls 提供播放控制控件

    为不同的浏览器提供适配的视屏格式

    safari->mp4
    chrome->webm
    Firefox/opera->ogv
    具体做法

<video xxxx>
       <source src="yyyyy">
       <sorce .....>
       ....
       <p>sorry,your browser doesn't support the video
          element</p>
 </video>
<source src="cccc" type='video/ogg; codes="theora, vorbis"'>

type提供格式和视屏编码信息

第十三章

建立表格

table 元素详述

如何使用

<body>
    <table>
          <tr>
              <th>xxxx</th>
              ....
           </tr>
           <tr>
               <td>xxxxx</td>
           <tr>
           ...
           </tr>
     </table>
 </body>

格式表示这里写图片描述

表格美化

border-spacing属性:设置边框间距
border-collapse:折叠边框
这里写图片描述
table{boder-collapse:collapse;}
这里写图片描述
时单元格之间只有一条线。

表格跨行/跨列

rowspan跨行

<td rowspan="2">xxx</td>

效果为
这里写图片描述

colspan跨列
代码类似跨行但要删掉多余的列单元格

嵌套表格

在单元格内嵌套table元素就可

第十四章

实现交互

html表单

< from>元素

<from action="脚本地址" method="POST">
   <p>
      姓名:<input type="text" name="fullname" value="">
      电话:<input type="tel" >
      <input type="submit"  >
   </p>
</from>

在脚本地址中的脚本将收到输入的值,并进行反馈。

可放在表单中的基本元素

单选钮:<input type="radio" name="xxx" value="yyy">
多选钮:type=”checkbox”
输入数字:type=”number” min=”0” max=”10”
输入颜色:type=”color”
输入日期:type=”date”
滑动条输入数字:<input type="range" min="0" max="20" step="5">
email输入:<input type="email">
电话输入:<input type="tel">
url输入:<input type="url">
密码输入:<input type="password" name="xxx" >
文件输入:<input type="file" name="doc" >
文本区输入:<textarea name="xxx" rows="10" cols="48"></textarea>
选择单选菜单:

<select name="yyyy">
     <option value="cccc">ccccazy</option>
     ......
 </select>

选择多选菜单:

<select name="yyyy" multiple>
     <option value="cccc">ccccazy</option>
     ......
 </select>

label元素

增加标签帮助理解

<label for="shop">红包</label>
<input type="radio" id="shop" name="shop1" >
 ....  

这里写图片描述
单选钮旁边的字便是一个标签

fieldset和legend元素

给一组选项提供一个标签

<fieldset>
          <legend>选择口味</legend>
                  <input type="checkbox" name="123" value="salt">
                  ......

</fieldset>

这里写图片描述

俩个特别的属性

placeholder:为所有输入提供一个提示
required: 指示一个输入是不是必要的

实践所学

url:正在完善中
计划蓝图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值