首页 > 代码库 > html基础

html基础

//用于 HTML 4.0

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

//XHTML 1.0 的 DTC

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

// html5 的 DTD

<!DOCTYPE html>

常见的字符编码:

charset=utf-8

Gb2312 简单中文字符集 最常用的中文字符

Gbk 简繁体 中文字符集

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<div></div>

<div></div>

<div></div>

</body>

</html>

 

 

div{

width: 300px;

height: 300px;

background: red;

}

margin:0px auto; maring:auto auto;

border: 10px solid red;

1)宽 : border-top[bottom,left,right]-width

2)形状 : border-style

solid 实线

dashed 虚线

dotted 点线

inset 3D立体

transparent -- 透明

css3新增属性

background-clip 指定对象的背景图像向外裁剪的区域

border-box(默认) 背景被裁剪到边框盒

padding-box 背景被裁剪到内边距框

content-box 背景被裁剪到内容框

box-sizing: border-box;

css3新属性

box-sizing 设置或检索对象的盒模型组成模式。

content-box (内容盒)默认值w3c的盒子:盒子的尺寸,宽高是写内容的地方

border-box (边框盒):盒子的尺寸,宽高是包含边框在内的,那写内容的地方变小

1)块状: block,一块

哪怕它没有这个屏幕宽,这行也被它给占据了

块状元素就像一个盒子,木头盒子,比较硬

2)内联: inline

行高:

无法眼睛直观的行高

浏览器在输出,渲染每一行文字的时候

段落缩进:text-indent

2.文本对齐 text-align (水平对齐方式)

left[默认左边];

right[右边];

center[文本排列到中间]

3.文本装饰线text-decoration

underline[文本下划线];

overlinn[文本上的一条线];

line-through[文本穿越线];

text-decoration-style: css3新属性,各浏览器还不兼容

一些新的css3属性,各浏览器的私有试验性质的属性,会在前面加上:

-moz , -ms , -webkit

-moz代表firefox浏览器私有属性

-ms代表IE浏览器私有属性

-webkit代表chrome、safari私有属性

text-shadow:1px 1px 1px red;

font-style 正斜

font-weight 粗细

font-size 大小

line-height 行高

font-family 字体

1.font-style 文本字体样式

normal: 指定文本字体样式为正常的字体

italic: 指定文本字体样式为斜体

2.font-weight 字体粗细

bold

normal

字体有更细吗?thin

中文的方块字有好几千,做一套中文字体的代价要比一套英文字体的代价要多很多,所以字体里面就是正常和加粗,没有更细或者更粗.只有两种粗

细,normal正常和bold 加粗

3.font-size 字体大小

4.line-height 行高

行高变大,两行字之间的距离就变大

就是内部基线与基线的距离

后面我们做导航的时候,经常要把行高放的很大,以达到文字竖直居中的目的

后面讲: 行高可以达到文字的竖直居中的原理

5.font-family 字体系列

‘黑体‘,‘微软雅黑‘,‘宋体‘,‘新宋体‘

["SimHei"黑体],["SimSong"宋体默认]

6.css的简化写法

一行集中控制这些属性

font-style font-weight font-size line-height font-family

注意:

参数必须按照如上的排列顺序

且font-size和font-family是不可忽略的,是必须要写

字体大小和行高都是用尺寸表示,必须用斜线隔开

font-style:italic;

font-weight:bold;

font-size:15px;

line-height:40xp;

font-family:‘微软雅黑‘;

font: italic bold 15px/40px ‘微软雅黑‘;

中文字体2大类:

无衬线:黑体,雅黑,文泉驿正黑 sans-serif

有衬线:宋体,新宋, serif (像衬衫一样有棱角)

1.背景图

background-image[url(图片地址)]

在网站里,引用其它资源,图片,css的时候

只有两个写法, ./ 当前目录 ../上级目录

不能写 D:/或者E:// ,

因为我们的服务器基本上是linux的;没有D,E盘

即使是windows,也不保证一定有D盘,而且还要将图片再放在你写的D盘E盘中才能发挥作用

要注意,url书写的规范性

2.background-repeat

背景图像如何铺排填充

div大,背景图小,但是它也会横向和纵向铺满整个背景

css3新属性

round: 背景图像自动缩放直到适应且填充满整个容器

space: 背景图像以相同的间距平铺且填充满整个容器或某个方向

3.background-attachment

背景图像是随对象内容滚动还是固定的

fixed: 背景图像相对于窗体固定。

scroll: 背景图像相对于元素固定 (默认)

 

background-image: url(1.png);

background-repeat: no-repeat;

background-attachment: fixed;

background-position:right top;

background-image: url(1.png);

background-repeat: no-repeat;

background-attachment: fixed;

background-position:right top;

background:gray url(1.png) no-repeat fixed right top;

极度简写:

background:gray;

  1. 通过id选中元素
  2. 类选中某个或某几个元素
  3. 标签选择器
  4. 层级选择器
  5. 群组选择器

4.分析谁的优先级更高

p标签在一个页面中肯定有多个

标签和类谁命中的元素更多? 标签

id是唯一的,它只命中一个元素

标签 : 极多

类 : 多

id唯一 : 最少

结合刚才的效果,总结选择器优先级的特点:

选择器命中的越精准,越少,优先级越高

css 引入方式

使用HTML标签的STYLE属性

使用 link 标签,引入外部CSS文件

<link rel="stylesheet" href="http://www.mamicode.com/28.css">

内联样式,直接写在标签的style属性里

<div style="width:200px;height:200px;background:red;"></div>

使用@import导入CSS文件

在一个css文件里,还可以引入其它的css

在css文件中,引入其它的css,一定要放在第一行

css 初始化

blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,

h5,h6,hr,input,legend

,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}

body,button,input,select,

textarea{font:12px/1.5 tahoma,arial,‘Hiragino Sans GB‘,

\5b8b\4f53,sans-serif}

h1,h2,h3,h4,h5,h6{font-size:100%}address,cite,dfn,em,var

{font-style:normal}

code,kbd,pre,samp{font-family:courier

new,courier,monospace}

small{font-size:12px}ol,ul{list-style:none}

a{text-decoration:none}

a:hover{text-decoration:underline}

sup{vertical-align:text-top}

sub{vertical-align:text-bottom}legend{color:#000}

fieldset,img{border:0}

button,input,select,textarea{font-size:100%}

table{border-collapse:collapse;border-spacing:0}

标题只有h1-h6

没有7号标题,写了是普通文字的大小

3.list-style-type: 设置不同的列表样式

给ul或者是ol设置这个属性

disc 默认。标记是实心圆。

circle 标记是空心圆。

square 标记是实心方块。

decimal 标记是数字。

none 不显示列表样式

4.实际开发中list-style-type 都置为 none,为什么?

因为各浏览器兼容效果不同,火狐和chrome就不同,所以置为none

这种列表样式在各浏览器的差异,用css就无法改变了

所以在css初始化的时候,已经将这个属性设置为了none

在实际应用中我们用背景图片来设置样式

去掉单元格之间的距离

border-collapse

表头的声明: th

colspan 属性规定单元格可横跨的列数

rowspan 属性规定单元格可横跨的行数

header,footer,nav[导航]

aside,article,time

1.img 引入一张图片

准备 div>img

2.src属性

src: 规定显示图像的 URL (当前目录,上级目录,其他本地目录,和远程图片)

1)相对URL

指向站点内的文件 当前目录 ./ 或者上级目录 ../

2)绝对URL - 指向其他站点

比如 src="http://ww3.sinaimg.cn/bmiddle/62f4cb1fgw1evq6gsagsaj20c8085dgo.jpg"

3.alt 属性: 规定图像的替代文本

做过SEO的知道:

alt可用于这个图片的重要搜索说明

搜索引擎越来越智能,不止能根据alt搜,还可以根据文字信息分析图片信息

甚至可以做图片识别

  1. title: 鼠标放上去,显示此文本

img是特殊的内联元素,是内联替换元素

建议css初始化的时候,直接将img标签转为块状,以免受图片的几像素的缝隙的影响

1.a标签的href

可以连接本地网页

也可以连接互联网上的绝对地址

<a href="http://www.mamicode.com/1.html">第一个网页</a>

<a href="http://www.zixue.it">学习论坛</a>

2.在新标签中打开连接

target属性

target="_blank"

3.title属性 鼠标放上去时,显示的文字

4.href="http://www.mamicode.com/#" 是什么意思?

公司套模版时可见

没有什么实际意义,就是一个空连接,点击没有效果

伪类: 选中的元素的某个状态

a:link 正常的a标签的状态

a:visited 选中的是 鼠标点击后的a标签的状态

a:hover 选中的是 鼠标经过a标签时的状态

a:active 选中的是 鼠标点击瞬间(还未松鼠标)的状态

注意:

a:visited

判断一个页面是否访问过,浏览器会看浏览历史中有没有这个网页;当访问的页面为 not found 时,不会加入到浏览历史中

a:link可以简写为a;

提醒顺序 lvha,顺序不能乱写,可以不写全,但是顺序不能乱

a:active一般不写;

line-height: 80px;

1.关系选择器(层次选择器):

后代元素 E F 匹配 作为所有作为 E元素 后代的 F元素

儿子元素 par>son 匹配 par 元素的子级 son 元素

相邻元素 E+F 匹配紧贴着 E 元素的 F 元素

兄弟元素 E~F 匹配 E 后面所有同级别 F 元素

1)后代元素 E F 匹配 作为所有作为 E元素 后代的 F元素

div ul {

border: 1px solid blue;

}

2)儿子元素 par>son 匹配 par 元素的子级 son 元素

div>ul {

border:10px solid yellow;

}

3)相邻元素 E+F 匹配紧贴着 E 元素的 第一个 F 元素

div+p {

border: 1px solid red;

}

4)兄弟元素 E~F 匹配 E 后面所有同级别 F 元素

div~p {

border: 1px solid orange;

}

2.属性选择器(用在表单里比较多)

E[属性名] 含有某属性的元素

E[属性名=值] 某属性=某值的元素

准备:

<form action="">

<input type="text" name="username">

<input type="text" name="email">

</form>

1)标签选中input

input{

border:10px solid red;

}

2)E[属性名] 含有某属性的元素

input[name] {

background: red;

}

3)E[属性名=值] 某属性=某值的元素

input[name=username] {

background: yellow;

}

jq为了降低学习成本,它的选择器比较像css的属性选择器

2.伪类选择器

E:first-child 匹配作为第 1 个子元素的元素 E

E:last-child 匹配作为最后一个子元素的元素 E

E:nth-child(N) 匹配作为第 N 个子元素的元素 E

html基础