HTML与CSS详细总结

作为一个后端技术热爱者而言,实际开发中也难免和要前端知识打交道,或者说,偶尔前端不在,也得能顶上。所以抱着这样的想法,将从前零零散散的知识,依靠阅读相关书籍,学习各类教学视频,认真地整理了一番。学习整理过程中将知识点也都记录在文档html和css详细总结中。下面就文档中罗列的一些知识点,做一个简单的总结,方便快速查阅。

目录

HTML中的实体

meta标签

 内联框架:Iframe

 块元素和内联元素

 选择器、伪类、伪元素

选择器的优先级

伪类的优先级

HTML标签

无序列表、有序列表、定义列表

长度单位

字体属性设置

行高line-height

文本样式

盒子模型

高度塌陷

定位

背景

按钮

表格

框架集


HTML中的实体

实体指的是在HTML中,一些特殊字符如<>是不能直接使用的,需要使用一些特殊的符号来表示这些特殊的字符,这些特殊的符号我们称之为实体(转义字符串)。

实体的语法:& 实体的名字

meta标签

Meta标签日常使用:
1、设置编码
<meta charset="UTF-8">
2、设置网页关键字
<meta name="keywords" content="H5,CSS,JS">
3、可以用来指定网页的描述
<meta name="description" content="HTML5总结、CSS总结">
4、可以用来做网页的重定向
<meta http-equiv="refresh" content="5;url=http://www.208j.club">

 内联框架:Iframe

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style type="text/css">
    iframe{
        width: 80%;
    }
</style>
<body>
<iframe src="test2.html" name="Is-Me-HL"></iframe>
<a href="http://www.208j.club" target="Is-Me-HL">点击加载页面到iframe框架中</a>
</body>
</html>


a标签的target属性可以用来指定打开链接的位置,可选值:
_self:表示在当前窗口打开(默认值)
_blank,表示在新的窗口打开
也可以设置为一个iframe内联框架的name属性,表示在该内联框架中打开

Iframe:
Src:只想一个外部的页面的路径,可以使用相对路径
Width、height属性
Name:可以为内联框架指定一个name属性

 块元素和内联元素

块元素:Div就是一个块元素,所谓块元素就是会独占一行的元素,无论内容有多少都会独占一行:div,p,h1,h2,h3……Div这个标签没有任何的语义,就是纯粹的一个块元素,并且不会为他里面的元素设置默认任何的默认样式,其主要作用使用来对页面进行布局的。

内联元素:Span是一个内联元素(行内元素)。所谓行内元素,指的是只占自身大小的元素,不会占用一行,常见的行内元素a,img,iframe,span。Span没有任何语义,span标签专门用来选中文字,然后为其设置样式

对比&小结:块元素主要用来做页面的布局,内联元素主要用来选中文本设置样式。
一般情况下使用块元素包含内联元素,而不会使用内联元素包含块元素,当然,像a这样的内联标签,是可以包含除了自身的其他标签的。

 选择器、伪类、伪元素

除了常见的标签选择器、类选择器、id选择器,还有很多其他的选择器,此处选择器相关内容(ps:笔者太懒)不做总结,详细查看文档html和css详细总结

选择器的优先级

当使用不同的选择器选中同一个元素,并设置相同样式时,这时样式之间会生冲突,到底选择那个选择器,应该由选择器的优先级(权重)决定:

优先级规则:

内联样式:优先级1000

Id选择器:优先级100

类和伪类选择器:优先级10

标签选择器:优先级1

通配选择器*:优先级0

继承的样式:没有优先级

注意(1):选择器中包含多种选择器时,需要将多种选择器的优先级相加然后再比较;如#hello{}和p#hello{},优先会显示p#hello的样式,一个权重是100,一个是100+1=101,所以显示101。

注意(2): 不存在11个类选择器优先级会高于一个id选择器,规定了类选择器不会超过其自身数量级,如类是10 ,最多也是99,不可能是100。当选择器的优先级是一样的,谁在后面就使用谁的样式。以上将的是交集选择器可以进行优先级相加,但是对于并集选择器,则是单个计算的,不能相加:如:#pa,.cs,p{}

总结,所以在开发中一般不推荐使用内联样式,否则其他选择器都无法改了,当然,如果在其他选择器中的属性加上!important,则会是该选择器生效,甚至超过内联样式的优先级。当然这个!important也和内联样式一样不建议使用。如.pa{color:green !important;}表示特别重要,必须显示。

伪类的优先级

涉及到a标签的伪类有四个a:link{},a:visited{},a:hover{},a:active{},hover必须写在active前面,否则会有样式显示不出来,即active样式无法展示。该四个伪类优先级一样。

HTML标签

  • em标签:斜体,强调
  • strong标签:加粗,更强调
  • i标签:斜体,无语义
  • b标签:加粗,无语义
  • small标签:表示较小子,合同,版权信息
  • cite标签:网页中所有的加书名号的内容都可以使用cite标签,还有歌名,书名,话剧名,电影名等
  • q标签:表示短的引用(行内引用),引用的内容浏览器会默认加上引号。通过css样式:before和after加上的引号。
  • blockquote标签表示一个长引用(块级引用),独占一行
  • sup标签:设置上标,如x平方的2。在百度百科中经常看到,上标再给个链接。
  • sub标签:设置下标。
  • ins标签:表示一个插入内容,在该内容下会自动添加下划线。
  • del标签:表示一个删除的内容。在内容中部加删除线。
  • pre标签:是一个预格式标签,会将代码中的格式保存,不会忽略多个空格。
  • code标签:专门用来表示代码的,但不会保留格式,是个语义标签,一般和pre一块使用,使得既有语义也能保留预格式。

无序列表、有序列表、定义列表

三者的简单实例,相关代码查看文档html和css详细总结。实际开发中,如果手写目录树,可以通过有序列表和无序列表的相互嵌套实现。

长度单位

  • 像素px

像素是在网页中使用的最多的一个单位,一个像素就相当于我们屏幕中的一个小点,我们的屏幕实际上就是由这些像素点构成的,但是这些像素点不能直接看见,不同显示器的一个像素的大小也不同,显示效果越好越清晰,像素就越小,反之就越大。

  • 百分比%

可以将单位设置成一个百分比的形式,这样浏览器会根据其父元素的的样式来计算该值,使用百分比的好处就是当父元素的属性值发生变化时,子元素也会按照比例发生改变,在我们创建一个自适应的页面时,经常使用百分比作为单位。

  • em

em和百分比类似,它是相对于当前元素的字体大小来计算的。

1em=1font-size,使用em,当字体大小发生变化时,em也会随之变化,当设置字体样式的时候会经常使用em

.box{

       Font-size:100px;

Width:10em;// 那么说明width是100*10=1000px

}

字体属性设置

字体可以设置以下属性:

Color:颜色

Font-size:包含字体框,格的大小

Font-family:可以设置多个字体,如果计算机有该字体就使用,没有就是用默认的字体:如:Font-family华文彩云,微软雅黑,arial;等

等…….

Font-style:斜体,正常字体等

Font-weight:粗细,bold表示粗体,默认细

Font-variant:设置一个小型大写字母,small-caps

当然,如果单纯的给字体设置上述某种样式,是可以选择性的挑出其中写法去写的,但是如果这个字体的每一种样式都需要去设置,那么我们可以使用简写的方式去设置样式

Font:small-caps bold italic 60px  ”微软雅黑”;

需要注意的是,前面三种,斜体、粗细、大小字母,没有顺序要求,甚至可以不写,但是60px和”微软雅黑”,必须要写,且60px写在倒数第二个,”微软雅黑”写在倒数第一个!

行高line-height

在CSS中并没有为我们提供一个直接设置行间距的方式,我们只能通使用line-height来设置行高,行高类似于我们上学时的单线本,单线本是一行一行的,线与线之间的距离就是行高,网页中的文字实际上也是写在一个看不见的线中,而文字会默认在行高中垂直居中显示。

行间距=行高-字体大小

Line-height可以能接收大参数值可以是n个xp,或者百分比(百分比会根据font-size去计算行高),也可以直接上传一个正数,表示是当前字体大小的多少倍。Ps:这里还需要注意的是,当使用font:简写字体样式时,如果在font中没有设置行高,会使用默认的行高,这时line-height如果要生效的话,必须放在font简写样式后面,当然也可以在font中直接设置行高font:20px/40px “微软雅黑”;其中40px表示的就是行高。

文本样式

  • Text-transform:可以用来设置文本的大小写

  • Text-decoration:可以用来设置文本的装饰

  • Text-align:用于设置文本的对其方式

  • Text-indent:用来设置首行缩进

上诉属性的可选值参见文档html和css详细总结

盒子模型

 盒子可见框的大小由内容区内边距边框共同决定。

  • 边框border

为元素如div设置边框,必须指定以下三个样式:

  1. border-width:边框的宽度
  2. border-color:边框的颜色
  3. border-style:边框的样式(必须有,如果没有写,那默认为none,不显示)

使用border-width可以分别指定四个边框的宽度:

如果border-width设置了四个值,则四个值分别会给上 右 下 左,按照顺时针方向设置边框值。

如果设置了三个值,则三个值分别会设置给上 右左 下

如果设置了两个值,则上下 左右

如果设置了一个值,则四边全是该值

Ps:包括border-color,border-style,padding,margin,都是类似这样。

使用border-style,该样式可以有以下值:

None:默认值,没有边框

Solid:实线

Dotted:点状边框

Dashed:虚线

Double:双线

等…..

可以使用border,边框的简写样式:

通过他可以同时设置四个边框的样式,宽度,颜色,且没有任何顺序要求。但是border不能分别指定四个边,都是统一值指定四个边。所以只能使用border-top,border-left等设置

  • 内边距padding

内边距(padding)指的是盒子的内容区和盒子边框之间的距离。

和border一样有四个方向,通过padding-top,padding-right,padding-bottom,padding-left来设置四个方向的内边距。

内边距和border(边框)一样会影响盒子可见宽的大小。

  • 外边距margin

外边距指的是当前盒子与其他盒子之间的距离,他不会影响盒子可见框的大小,而是会影响到盒子的位置,和padding一样也有四个方向。

Margin可以使负数,表示相反方向移动,修改margin-top和margin-left的值可以改变该盒子的位置,设置margin-bottom和margin-right的值可以改变其他位置相对于当前盒子的位置。

当然margin还可以设置为auto,auto一般只设置给水平方向的margin,如果只是指定,左外边距或右外边距的margin为auto,则会将外边距设置为最大值,垂直方向外边距如果设置为auto,则外边距默认就是0。如果将margin-left和margin-right同时设置为auto,则会将两侧的外边距设置为相同的值,就可以使元素自动在父元素中自动居中,所以我们经常讲外边距设置为auto,以使子元素在父元素中水平居中。

最后,和padding一样,margin也可以单独设置。


关于盒子模型的内容还有很多,请详见文档:

高度塌陷

定位

详见文档:html和css详细总结。内容太多,从文档搬运太费时间,请谅解

背景

详见文档:html和css详细总结。内容太多,从文档搬运太费时间,请谅解

按钮

详见文档:html和css详细总结。内容太多,从文档搬运太费时间,请谅解

表格

详见文档:html和css详细总结。内容太多,从文档搬运太费时间,请谅解

框架集

详见文档:html和css详细总结。内容太多,从文档搬运太费时间,请谅解


注:以上文章仅是个人学习过程总结,若有不当之处,望不吝赐教。HTML5和CSS3相关知识请前往HTML5和CSS3详细总结

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值