CSS选择器与文本样式

CSS选择器以及文本样式

CSS学习

CSS

层叠样式表(Cascading Style Sheets)
CSS可用来为网页创建样式表,通过样式表可以对网页进行装饰。

CSS语法

选择器 {样式名:样式值;样式名:样式值 ; }

例如:p{color:red;font-size:20px;}

行内样式

将样式写到标签内部的style属性中,例如:

<p style="color: red;font-size: 30px"></p>

但是,这样做的缺点是:导致结构与表现耦合,同时导致样式不能够复用,所以这种方式我们不使用。

内部样式表

可以将样式直接写到style标签中,例如:

<style>
    p{color:red; font-size: 30px;}
</style>

好处:使CSS独立于HTML中,可以同时为多个标签设置样式
缺点:只能在一个页面中使用,不能在多个页面中使用

外部样式表

可以将所有的样式都保存到一个CSS文件中,在通过link标签将其引入到HTML中,例如:

<link rel="stylesheets" type="text/css" href="style.css">

将样式表放入到了页面的外部,可以在多个页面中引入,同时浏览器加载文件时可以使用缓存。

selector选择器

一、元素选择器

语法:

标签名{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            p{
                color: red;
                font-size: 30px;
            }
        </style>
    </head>
    <body>
        <p>这是一个很完美的网页</p>
    </body>
    
</html>

效果如下:


标签元素.PNG

二、类选择器

语法:

.className{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>类选择器</title>
        <style>
            .div1{
                font: 微软雅黑;
                color: pink;
                text-align: center;
                font-size: 50px;
            }
        </style>
    </head>
    <body>
        <div class="div1">真正的高度在于超越过去的自己</div>
    </body>
    
</html>

效果如下:


类选择器.PNG

三、id选择器

根据元素的id属性值选取 元素。
语法:

id{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>id选择器</title>
        <style>
            #div1{
                font: 微软雅黑;
                font-size: 50px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div id="div1">真正的高度在于超越过去的自己</div>
    </body>
    
</html>

显示效果如下:


id选择器.PNG
  • id属性是不能重复的

四、复合选择器(交集选择器)

复合选择器,可以同时使用多个选择器, 这样可以选择同时满足多个选择器的元素。
语法:

选择器1选择器2{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>复合选择器(交集选择器)</title>
        <style>
            span.p3{
                background-color: yellow;
            }
        </style>
    </head>
    <body>
        <p class="p3">床前明月光</p>
        <span class="p3">疑是地上霜</span>
    </body>
    
</html>

效果如下:


复合选择器.PNG

五、群组选择器(并集选择器)

群组选择器,可以同时使用多个选择器, 多个选择器将被同时应用指定的样式。
语法:

选择器1,选择器2,选择器3 { }

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>复合选择器</title>
        <style>
            h1,p{
                font-size: 50px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <h1>真正的高度在于超越过去的自己</h1>
        <p>我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼间就飘散如烟。</p>
    </body>
    
</html>

效果如下:


群组选择器.PNG

六、通用选择器

通用选择器,可以同时选中页面中的所有 元素。
语法:

*{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>通用选择器</title>
        <style>
            *{
                font-size:50px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <p>真正的高度在于超越过去的自己</p>
        <p>我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼间就飘散如烟。</p>
        <p>床前明月光,疑是地上霜。举头望明月,低头思故乡。</p>
    </body>
    
</html>

效果如下:


通用选择器.PNG

七、标签之间的关系

祖先元素
后代元素
父元素
子元素
兄弟元素

八、后代选择器

后代选择器可以根据标签的关系,为处在 元素内部的代元素设置样式。
语法:

祖先元素 后代元素 后代元素 { }

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>后代选择器</title>
        <style>
            #d1 span{
            color: greenyellow;
        }

        </style>
    </head>
    <body>
        <div id="d1">
        <span>我是div标签中的span</span>
        <p><span>我是p标签中的span</span></p>
    </div>
    </body>
    
</html>

效果如下:


后代选择器.PNG

九、伪类和伪元素

伪类

正常链接:
a:link
访问过的链接(只能定义字体颜色)
a:visited
鼠标滑过的链接
a:hover
正在点击的链接
a:active

十、其他元素

获取焦点
:focus

指定元素前
:before

指定元素后
:after

选中的元素
::selection

十一、其他选择器

首字母
:first-letter

首行
:first-line

十二、属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <style type="text/css">
        /*
        为所有具有title属性的p元素,设置一个背景颜色为黄色
        属性选择器
            作用:可以根据元素中的属性或属性值来选取指定元素
            语法:
                [属性名] 选取含有指定属性的元素
                [属性名="属性值"] 选取含有指定属性值的元素
                [属性名^="属性值"] 选取属性值以指定内容开头的元素
                [属性名$="属性值"] 选取属性值以指定内容结尾的元素
                [属性名*="属性值"] 选取属性值包含指定内容的元素
        p[title]{
            background-color: yellow;
        }
        */
        /*为title属性值是hello的元素设置一个背景颜色为黄色
        p[title="hello"]{
            background-color: yellow;
        }
        */
        /*为title属性值以ab开头的元素设置一个背景颜色为黄色
        p[title^="ab"]{
            background-color: yellow;
        }
        */
        /*为title属性值以c结尾的元素设置一个背景颜色
        p[title$="c"]{
            background-color: yellow;
        }
        */
        /*为title属性值包含c的元素设置一个背景颜色*/
        p[title*="c"]{
            background-color: yellow;
        }
    </style>
</head>
<body>
    <!-- 
        title属性,这个属性可以给任何标签指定
        当鼠标移入到元素上时,元素中的title属性的值将会作为提示文字显示
     -->
    <p title="hello">我是一个段落</p>
    <p>我是一个段落</p>
    <p title="abbc">我是一个段落</p>
    <p title="abccd">我是一个段落</p>
    <p title="abc">我是一个段落</p>
</body>
</html>

显示效果如下:


属性选择器.PNG

十三、子元素选择器

子元素选择器可以给另一个元素的子元素 设置样式。
语法:

父元素 > 子元素{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子元素选择器</title>
    <style type="text/css">
        /*
        为第一个p标签设置一个背景颜色为黄色
        :first-child 可以选中第一个子元素
        :last-child 可以选中最后一个子元素
        :nth-child 可以选中任意位置的子元素
            该选择器后边可以指定一个参数,指定要选中第几个子元素
            even 表示偶数位置的子元素
            odd 表示奇数位置的子元素

        body>p:first-child{
            background-color: yellow;
        }
        p:last-child{
            background-color: yellow;
        }
        p:nth-child(even){
            background-color: yellow;
        }
        */
        /*
        :first-of-type
        :last-of-type
        :nth-of-type
            和child类似,只不过child是在所有的子元素中找
            而type是在当前类型的子元素中找
        
        p:first-of-type{
            background-color: yellow;
        }
        */
        p:last-of-type{
            background-color: yellow;
        }
    </style>
</head>
<body>
    <span>我是span</span>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <span>我是span</span>
    <!-- <div>
        <p>我是一个p标签</p>
    </div> -->
</body>
</html>
子元素选择器.PNG
其他子元素选择器

选择第一个子标签
:first-child

选择最后一个子标签

:last-child

选择指定位置的子元素
:nth-child

选择指定类型的子元素
:first-of-type
:last-of-type
:nth-of-type

十四、兄弟选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>兄弟元素选择器</title>
    <style type="text/css">
        /*
        为span后的一个p元素设置一个背景颜色为黄色
        后一个兄弟元素选择器
            作用:可以选中一个元素后紧挨着的指定的兄弟元素
            语法:前一个 + 后一个
        span + p{
            background-color: yellow;
        }
        */
        /*
        选中后边的所有兄弟元素
            语法:前一个 ~ 后边所有
        */
        span ~ p{
            background-color: yellow;
        }
    </style>
</head>
<body>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <span>我是一个span</span>
    <div>我是div</div>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
</body>
</html>

效果如下:


兄弟选择器.PNG

十五、否定伪类

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>否定伪类</title>
    <style type="text/css">
        /*
        为所有的p元素设置一个背景颜色为黄色,除了class值为hello的
        否定伪类:
            作用:可以从已选中的元素中剔除出某些元素
            语法:
                :not(选择器)
        */
        p:not(.hello){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p class="hello">我是一个p标签</span>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
    <p>我是一个p标签</p>
</body>
</html>
否定伪类.PNG

十六、选择器的权重

不同的选择器有不同的权重值:

内联样式:权重是 1000

id选择器:权重是 100

类、属性、伪类选择器:权重是 10

元素选择器:权重是 1

通配符:权重是 0

计算权重需要将一个样式的全部选择器相加,比如上边的body h1的权重是20,h1的权重是10,所以第一个选择器设置的样 式会优先显示。

文本样式

1. em和strong

em标签用于表示一段内容中的着重点。
strong标签用于表示一个内容的重要性。
这两个标签可以单独使用,也可以一起使用。

<p>
<strong>警告:任何情况下不要接近僵尸。</strong>
他们只是 <em>看起来</em> 很友好,实际上他们是为了吃你的胳膊!
</p>

通常em显示为斜体,而strong显示为粗体。

2. i和b标签

i标签会使文字变成斜体
b标签会使文字变成粗体

3. small标签

small标签表示细则一类的旁注,通常包括 免责声明、注意事项、法律限制、版权信 息等。
浏览器在显示small标签时会显示一个比父 元素小的字号

<p><small>&copy;2018北财. 保留所有权利.</small></p>

4.cite标签

使用cite标签可以指明对某内容的引用或参 考。例如,戏剧、文章或图书的标题,歌 曲、电影、照片或雕塑的名称等。

<p>
<cite>《七龙珠》</cite>讲的是召唤神龙的故事。
</p>

5. blockquote标签和q标签

blockquote和q表示标记引用的文本。

blockquote用于长引用,q用于短引用。
在两个标签中还可以使用cite属性来表示引 用的地址。

孟子曾经说过:
<blockquote>天将降大任于是人也...</blockquote>
他说的真对啊!

<p>孔子曾经说过:<q>学而时习之不亦说乎</q></p>

6. sup和sub

sup和sub用于定义上标和下标。
上标主要用于表示类似于103中的3。
下标则用于表示类似余H2O中的2。

7. ins和del

ins表示插入的内容,显示时通常会加上下 划线。
del表示删除的内容,显示时通常会加上删 除线。

8. code标签和pre标签

如果你的内容包含代码示例或文件名,就 可以使用code元素。
pre元素表示的是预格式化文本,可以使用
pre包住code来表示一段代码。

<pre>
<code>
function fun(){  alert("hello");
}
</code>
</pre>

9.有序列表

<ol>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
</ol>

10. 无序列表

<ul>
    <li>列表项1</li>
    <li>列表项2</li>
    <li>列表项3</li>
</ul>

11. 定义列表

使用dl、dd、dt来创建一个定义列表

<dl>
    <dt>定义项1</dt>
    <dd>定义描述1</dd>
    <dt>定义项2</dt>
    <dd>定义描述2</dd>
    <dt>定义项3</dt>
    <dd>定义描述3</dd>
</dl>

12. 文字大小

font-size

13.文字字体

font-family

14. 字体分类

serif(衬线字体)
sans-serif(非衬线字体)
monospace (等宽字体)
cursive (草书字体)
fantasy (虚幻字体)

以上这些分类都是一些大的分类,并没有 涉及具体的类型,如果将字体指定为这些 格式,浏览器会自己选择指定类型的字体。

15. 斜体和粗体

font-style用来指定文本的斜体

指定斜体:font-style:italic
指定非斜体:font-style:normal

font-weight用来指定文本的粗体

指定粗体:font-weight:bold
指定非粗体:font-weight:normal

16. 小型大写字母

font-variant属性可以将字母类型设置为小 型大写。在该样式中,字母看起来像是稍 微缩小了尺寸的大写字母。

font-variant:small-caps

17. 字体属性的简写

font可以一次性同时设置多个字体的样式。
语法:

font:加粗 斜体 小型大写 大小/行高 字体

18. 行间距

line-height用于设置行高,行高越大则行 间距越大。
行间距 = line-height – font-size

19. 大写化

text-transform样式用于将元素中的字母全都变成大写。

大写:text-transform:uppercase

小写:text-tansform:lowercase

首字母大写:text-transform:capitalize

正常:text-transform:none

20. 文本修饰

text-decoration属性,用来给文本添加各 种修饰。通过它可以为文本的上方、下方 或者中间添加线条。
可选值:

underline

overline

line-through

none

21. 字母间距和单词间距

letter-spacing用来设置字符之间的间距。
word-spacing用来设置单词之间的间距。

这两个属性都可以直接指定一个长度或百 分数作为值。正数代表的是增加距离,而 负数代表减少距离。

22. 对齐文本

text-align用于设置文本的对齐方式。

可选值:
left:左对齐
right:右对齐
justify:两边对齐

center:居中对齐

23. 首行缩进

text-indent用来设置首行缩进。
该样式需要指定一个长度,并且只对第一 行生效。
text-indent:2em;首行缩进2个字符

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,726评论 1 92
  • 一、元素选择器 作用:通过元素选择器可以选择页面中的所有指定元素语法:标签名{} 二、类选择器 作用:通过元素的c...
    风中丶凌乱阅读 302评论 0 1
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,304评论 2 66
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,828评论 0 0
  • 文|阿温 编号:453 《第一封》 如果没有你 我可能不会知道原来我还可以去爱 《第二封》 你还记得我们...
    阿温温吖阅读 1,019评论 62 101