3.标签&选择符&超链接&SEO(SEM)

常见标签

div

1. 表示“块”。

2. 例:<div></div>”。

3. 常用做网页布局。

img [单标签]

1. 图片标签

2. 例:<img src="icon.jpg" alt="图片名字"/>” 。

a) src属性是图片的路径(相对/绝对)

b) alt属性的属性值是图片的名字,正常情况下不显示,当图片src定位不到资源时,才显示alt属性值。

i. 利于SEO alt属性虽然正常情况下不显示,但对于搜索引擎却是很友好的,索搜引擎会抓取alt属性值。

a

1. 链接/锚点/下载

2. 例:

a) 超链接:<a href="http://www.baidu.com"target="_blank">超链接</a>” 。

i. target属性可以指定打开方式,默认覆盖当前页。

1. “target="_blank"”表示打开一个新的页面显示。

2. “target="_self"”表示覆盖当前页,这也是默认值。

3. target属性的其他值不常用,因为跟html框架有关,而现在html框架几乎废弃了。

ii. 使用技巧 推荐

1. 页面中有很多链接,如果每一个链接都添加“target="_blank"”属性会很麻烦且代码累赘,那么我们就可以在头元素中添加下面一句代码,就可以达到为页面中所有链接指定“_blank”打开方式(简化代码):

a) <base target=” _blank”/>

2. 另外,当我们在head元素中添加了此<base target=” _blank”/>标签后,可能页面中有个别链接的打开方式不希望这样,那么你也不用担心,你只需要在这些个别的链接中再添加target属性和属性值即可,因为它的优先级大于base

b) 锚点 <a href="#did">a锚点</a>  <divid=”did”></div>” 。

i. 锚点与超链接区别就在于href属性的属性值是资源定位的路径,还是以“#”号开头的元素id

c) 下载 <a href="icon.zip">下载</a>” 。

i. 当超链接定位的资源浏览器不认识时,浏览器就会显示下载

1. 利用这一特性可以实现下载功能,比如定位一个文件或压缩包等。

hn

1. 标题标签

2. 显示效果为加粗放大

3. 例:<h1>标题1</h1>” 、<h6>标题6</h6>

4. hnn的取值范围为16

a) h1是最大的标题标签,h2其次以此类推往下递减,h6为最小标题标签。

b) h1标题标签相对特殊,一般一个页面最多只用一个。

i. h1用的太多,搜索引擎会认为你作弊,从而将页面拉入黑名单。

5. 利于SEO 。搜索引擎对页面中的标题标签会“另眼相看”,“另眼相看”的程度随着hn中的n数值递增而减小。

p

1. 段落标签

2. 显示效果为换行

3. 例:<p>段落</p>

strong

1. 强调语气强烈,好比很重要的意思。

2. 显示效果为加粗

3. 例:<strong>强调</strong>

4. 利于SEO

a) 虽然利于SEO,但一个页面不要刻意用太多,按照正常的需求使用即可,一般占整个页面内容6%8%为宜(不要让搜索引擎认为你作弊)。

em

1. 强调语气不强烈。

a) strong相同,都是强调语气,但没有strong那么强烈。

2. 显示效果为斜体。

3. 例:<em>强调</em>” 。

4. 利于SEO

a) 虽然利于SEO,但一个页面不要刻意用太多,按照正常的需求使用即可,并且“em”标签自带斜体样式,实在不利于用户体验,在使用时也可以将样式清空。

span

1. 区分样式

2. span标签本身没有带样式

a) 我们经常用它来为一段文本中部分文本添加样式,如下:

i. “给我<span style="color:red;">一个</span>特殊对待”

1. 浏览器显示效果为: “给我一个特殊对待” 。

3. 应用场景

a) 当一段文字中其中一部分样式与其他不一样,这时就可以使用span标签来区分。

ol

1. 有序列表

2. 例:

a) 代码

<ol>

     <li>列表1</li>

        <li>列表2</li>

        <li>列表3</li>

</ol>

b) 效果

 

ul

1. 无序列表

2. 例:

a) 代码

    <ul>

     <li>列表1</li>

        <li>列表2</li>

        <li>列表3</li>

    </ul>

 

b) 效果

 

 

dl

1. 定义列表

2. 例:

a) 代码

    <dl>

     <dt>定义列表标题</dt>

        <dd>定义列表项</dd>

        <dd>定义列表项</dd>

        <dd>定义列表项</dd>

    </dl>

 

b) 效果

 

SEO

1. SEOSearch Engine Optimization),中文是“搜索引擎优化”的意思,是隶属于SEM搜索引擎营销,英文:Search Engine Marketing)之下。

2. 部分方法

a) 页面标签语义化

i. 如:该是段落就用段落标签p,该是标题就用标题标签“hn”,不要什么都用“div”标签来模仿。

ii. 例如:一个标题“我爱中国”,你用“div”标签配合样式虽然可以模拟出标题来,但搜索引擎也只会将你模拟出来的标题当作“块”,而不会当作标题,但你用“h”标签就不一样了,搜索引擎会将其作为标题处理。

b) 使用对SEO有利的标签

i. 如:h1/h2/h3/strong/em......

ii. 合理优化,不要刻意过分优化,免得被搜索引擎拉入黑名单。

c) 提高页面关键字密度

d) ......等等 。

选择符/选择器

原则:使用选择符要准确选择目标又不影响其他

选择符详解

Id选择符

1. #”开头跟着页面中某个元素的id属性值

2. 特点:一个页面中元素id值不能重复,必须唯一。

3. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>选择符</title>

    <style>

#box1{

width:300px;

height:200px;

background:red;

}

</style>

</head>

<body>

<div id="box1">box1</div>

    <div id="box2">box2</div>

</body>

</html>

群组选择

1. 群组选择符是由多个选择符对象(如:”#id”或”.clazz”等)和逗号组成的。

a) 多个选择对象用逗号(“,”)隔开。

2. 产生原因:一群元素需要共用一组样式。

3. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>选择符</title>

    <style>

#box1,#box2{    /* 逗号隔开 */

width:300px;

height:200px;

background:red;

}

</style>

</head>

<body>

<div id="box1">box1</div>

    <div id="box2">box2</div>

</body>

</html>

类选择符 class[最常用]

1. 实际工作中相对于id选择符用的较多。

a) Id也用,但比类选择符少了很多。

2. 可以理解为可以重复使用的id

3. 产生原因:一大群元素需要共用同一组样式。

a) 这时再使用群组选择符就不方便了,代码会非常累赘

4. 特点:

a) 可重复使用,使用上非常灵活。

b) 一个元素可同时使用多个,只需要在多个类之间用空格隔开即可

i.  “<div class="box1 box2">box2</div>” 。

ii. 理论上可以同时指定无数个

5. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" /> 

<title>选择符</title>

    <style>

.box1{

width:300px;

height:200px;

background:red;

}

.box2{

border:1px solid blue;

}

</style>

</head>

<body>

<div class="box1">box1</div>

    <div class="box1 box2">box2</div> 

</body>

</html>

类型选择符/元素选择符

1. 使用元素的类型来做选择符,举例如下:

a) “div{…样式…}” 。

2. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>选择符</title>

    <style>

div{

width:300px;

height:200px;

background:red;

}

</style>

</head>

<body>

 

        <div>box1</div>

        <div>box2</div>

        <div>box3</div>

        

        <p>p1</p>

        <p>p2</p>

        <p>p3</p>

    

</body>

</html>

包含选择符/后代选择符

1. 格式: E  F {…样式…}

a) EF都表示元素不一定是元素,其实还可以是其它的选择符,如p .clazz #myId {...},并且两元素之间使用空格隔开

b) 包含选择符,该选择器定位元素E的后代中所有元素F  

2. 嵌套

a) 包含选择符可以包含多层,如:E F G H…{…样式…}” 。

b) 一般开发中不会包含太多层,差不多3层已经算长的了。

3. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>选择符</title>

    <style>

div p{    /* divp元素之间使用空格隔开*/

width:300px;

height:200px;

background:red;

}

</style>

</head>

<body>

 

        <div>

         <p>p1</p>

        </div>

        

        <div>

         <span>

             <p>p2</p>

            <span>

        </div>

        

        <p>p3</p>

    

</body>

</html>

通配符

1. 格式:*{…样式..}

a) 直接用*”跟样式。

2. 使用通配符会选中页面中所有的元素,所以通配符的性能自然就不高了,所以不推荐使用

3. 可以说是一个没用的选择符,一般不用

优先级

元素选择符 1”)

1. 可以将元素选择符的优先级看成1

2. 同级覆盖

a) 例:

i. 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

li{background:red;}  /* 会被覆盖掉 */

li{background:blue;}

</style>

</head>

<body>

<ol>

         <li></li>

            <li></li>

            <li></li>

        </ol>

</body>

</html>

ii. 效果

 

 

3. 结合包含选择符使用(不同级)

a) 同级样式默认后者覆盖前者

b) 将一个元素选择符看做1 ,那么当元素结合后代一起使用时,就看谁嵌套的多了,每多嵌套一个元素就加1,最后数值累加最大的优先级最高。

c) 例:

i. 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

ol li{background:red;} /* 1+1 */ /*数值累加最大,所以优先级最大*/

li{background:blue;}/* 1 */

</style>

</head>

<body>

<ol>

         <li></li>

            <li></li>

            <li></li>

        </ol>

</body>

</html>

ii. 效果

 

类选择符 10”)

1. 可以将类选择符的优先级看成10

a) 优先级:元素选择符(1< 类选择符(10

b) 注意:虽然上面我们说元素选择符优先级可以看成1,但这并不代表10个元素选择符包含就等于一个类选择符,这是不可能的,它们是两个层面上的,无论元素选择符包含多少级都小于类选择符。

2. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

.list{background:green;} /* 10 */  /*会作用后3*/

ol li{background:red;} /* 1+1 */   /*会作用前3*/

li{background:blue;}  /* 1 */

</style>

</head>

<body>

<ol>

         <li></li>

            <li></li>

            <li></li>

            <li class="list"></li>

            <li class="list"></li>

            <li class="list"></li>

        </ol>

</body>

</html>

b) 效果

 

3. 同级覆盖

a) 注意:同级样式前者会覆盖后者,这里的前后顺序指的是样式的书写顺序,跟class属性值的顺序无关(容易弄错)。

b) 例:

i. 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

.list1{background:green;} /* 10 */

.list2{background:yellow;} /* 10 */  

        /* 如果list1list2被同时使用了,那么list2会覆盖list1  */

</style>

</head>

<body>

<ol>

            <li class="list2 list1"></li>  <!—注意:跟这里顺序无关 -->

            <li class="list1"></li>

        </ol>

</body>

</html>

ii. 效果

 

id 选择符

1. Id选择符优先级可以看成数值100

a) 元素选择符(1<类选择符(10< id选择符(100

b) 同样不是10个类选择符就能抵得上一个id选择符的,它们根本就不是一个层面上的。

2. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

#did{background:red;} /* 100 */

.list1{background:green;} /* 10 */

.list2{background:yellow;} /* 10 */

</style>

</head>

<body>

<ol>

            <li class="list2 list1" id="did"></li>

            <li class="list1"></li>

        </ol>

</body>

</html>

b) 效果

 

行间样式

1. 行间样式的优先级可以看成数值1000

a) 元素选择符(1<类选择符(10< id选择符(100<行间样式(1000

2. 行间样式实际开发中基本上不用。

3. 例:

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

#did{background:red;} /* 100 */

.list1{background:green;} /* 10 */

.list2{background:yellow;} /* 10 */

</style>

</head>

<body>

<ol>

            <li class="list2 list1" id="did" style="background:purple;"></li> 

            <li class="list1"></li>

        </ol>

</body>

</html>

 

b) 效果

 

js动态样式

1. Js可以动态的修改样式,我们可以将它优先级看成数值10000

a) 元素选择符(1) < 类选择符(10) < id选择符(100) <行间样式(1000) < js(10000)

b) css本身选择符的优先级到行间样式就到顶了,但如果硬要说有比行间样式优先级更高的话,那也就是js动态修改样式了。

2. 

a) 代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>优先级</title>

    <style>

li{height:30px;}

#did{background:red;} /* 100 */

.list1{background:green;} /* 10 */

.list2{background:yellow;} /* 10 */

</style>

</head>

<body>

<ol>

            <li class="list2 list1" id="did" style="background:purple;"></li>

            <li class="list1"></li>

        </ol>

        <script>

document.getElementById('did').style.background='#000'; // 10000

</script>

</body>

</html>

b) 效果

 

小测试

1. 问:下面两条样式,哪一条优先级高

a) A.  #header #div1 .box1 div .section p .link{…………}

b) B .  #some .base #font #call a{…………}

2. 答:B

a) 不要认为长的优先级就高,需要看选择符的优先级。

i. 像上面问题中的样式,一般开发中不会这么写的,实际开发中包含两三层就差不多了。

伪类

什么是伪类

1. 元素后跟随一个冒号,如:a:link{……}” 。

2. 伪类用于向被选中元素添加特定的样式,伪类是元素在特定情况下才具备的。

伪类的一些问题

1. IE6不支持a标签以外其他任何标签的伪类 。

2. IE6以上的浏览器支持所有标签的hover伪类 。

a) 这里“所有”指的是鼠标能放上去的标签,像“<br/>”就除外。

a标签

1. a标签有四个状态,这四个状态就叫做a标签的四个伪类,四个分别如下:

a) link (未访问)[默认]

b) hover (鼠标悬停/鼠标划过)

c) active (链接激活/鼠标按下)

d) visited (访问过后/点击过后)

2. 四个伪类书写是有顺序的,如下:

a) 依次按照link、visited、hover、active的顺序来写

i. 如果将visited写在最后面,那么hover和active就始终会被visited伪类样式覆盖从而失效,visited是一个持久状态

3. 一般网站中很少四个伪类全用,而只用hover一个。

工作中首先会给a标签加一个样式去控制它所有状态,再给它加一个hover伪类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值