CSS入门学习(一)

CSS字体样式属性

font-size:字号大小
**font-family:字体:**规定元素的字体系列。
font-weight:字体粗细设置或检索对象中文本字体的粗细(数值最大900)

  • normal:正常的字体,相当于数字值400
  • bold:粗体,相当于数字值700
  • bolder:定义更粗的字符
  • lighter 定义更细的字符

font-style:字体风格

  • normal:默认值,浏览器显示一个标准的字体样式
  • italic:浏览器会显示一个斜体的字体样式。

常用技巧

  1. 现在网页中谱表使用14px+
  2. 尽量使用偶数的数字字号
  3. 各种字体之间必须使用英文逗号隔开
  4. 中文字体需要加英文状态下的引号,英文字题一般不需要加引号,当设置设置英文字体时,英文字体必须位于中文字体前
  5. 如果字体名中含有空格、¥、#等符号,则该字体必须加英文状态下的单引号或双引号,例如:font-size:“Times New Roman”;
  6. 尽量使用系统默认字体,保证在任何用户的浏览器中都可以正确显示

CSS Unicode字体
在CSS中设置字体名称,直接写中文是可以的,但在文件编码不匹配时会产生乱码错误。
方案一:用英文代替,比如:font-family:“Microsoft Yahei”
方案二:在CSS直接使用Unicode编码来写字体名称可以避免错误,使用Unicode编码写中文字体名称,浏览器是可以正确解析的,例如,font-family:"\5FAE\8F6F\96C5\9ED1",表示微软雅黑

CSS注释

/*需要注释的内容*/

font字体综合样式

选择器{
font:font-style font-weight font-size/line-heigjt font-family;
}

使用font属性时,必须按顺序写,不能更改顺序,各个属性空格隔开
其中不需要设置的属性可以省略,但必须保留font-size和font-famile属性

选择器

标签选择器标签作为选择器
类选择器

.类名{      /*声明类样式*/
 属性:属性值;
 }
标签调用时用 class="类名"调用

命名规范

  1. 长名称或词组可以使用中横线来为选择器命名
  2. 不建议使用“_”下划线来命名选择器
  3. 尽量使用英文字母来命名

案例

<head>
<style>
span{
font-size:100px
}
.blue{
	color:blue;
}
.red{
	color:red;
}
.green{
	color:#6C0;
}
.orange{
	color:orange;
}
</style>
</head>
<body>
<span class="blue">G</span>
<span class="red">o</span>
<span class="orange">o</span>
<span class="blue">g</span>
<span class="green">l</span>
<span class="red">e</span>
</body>

这里写图片描述

多类名选择器

有时设置一个样式需要选择多个选择器类名,这时我们可以在class中写,类名之间空格隔开,先后顺序无影响,只受css样式书写的上下顺序影响。

class="类名1 类名2 ...."

id选择器
在某些方面,ID 选择器类似于类选择器,不过也有一些重要差别。

#类名{
属性:属性值;
}
调用:  id="类名"

id选择器与类选择器的区别

  1. 类选择器可以多次重复使用,类似于姓名重名
  2. id选择器不能重复使用,类似于身份证号,是唯一的

通配符选择器(了解)

匹配页面中所有元素

*{
属性:属性值;
}

伪类选择器
用于像某些选择器添加特殊效果,比如给链接添加特殊效果,用":"
链接伪类选择器

  • :link 向未被访问的链接添加样式
  • :visited 向已被访问的链接添加样式
  • :hover 当鼠标悬浮在元素上方时,向元素添加样式
  • :active 向被激活的元素添加样式
a:link{
	font-size:20px;
	color:#999;
	font-weight:bold;
}
a:visited{
	font-size:20px;
	color:orange;
	font-weight:bold;
}
a:hover{
	font-size:20px;
	color:red;
	font-weight:bold;
}
a:active{
	font-size:20px;
	color:red;
	font-weight:bold;
}

顺序尽量不要颠倒

一般情况下,我们不需要用到4个
常用写法:

a {
	font-size:20px;
	font-weight:bold;
	color:#999;
}
a:hover{
	color:red;
}

结构(位置)伪类选择器(CSS3)

  • :first-child:选取属于其父元素的首个子元素的指定选择器
  • :last-child:选取属于其父元素的最后一个子元素的指定选择器
  • :nth-child(n):匹配属于其父元素的第N个子元素,不论元素的类型 even 偶数 odd 奇数 n 从0开始,例如,偶数可以表示2n,奇数可以表示2n+1
  • :nth-last-child(n):选择器匹配属于其元素的第N个子元素的每个元素,不论元素类型,从最后一个子元素开始计数,n可以是数字、关键词或公式
li:first-child{
	color:pink;
}
li:last-child{
	color:purple;
}
li:nth-child(4){
	color:red;
}
<ul>
<li>第一首诗</li>
<li>第二首诗</li>
<li>第三首诗</li>
<li>第四首诗</li>
<li>第五首诗</li>
<li>第六首诗</li>
<li>第七首诗</li>
</ul>

在这里插入图片描述

li:nth-child(even){
	color:#C3F;
}

<ul>
<li>第一首诗</li>
<li>第二首诗</li>
<li>第三首诗</li>
<li>第四首诗</li>
<li>第五首诗</li>
<li>第六首诗</li>
<li>第七首诗</li>
</ul>

在这里插入图片描述
目标伪类选择器
:target目标伪类选择器,选择器用于选取当前活动的目标元素

:target{
属性:属性值;
}
CSS外观属性

color:文本颜色
color属性用于设置文本颜色,取值方法有:

  1. 预定义颜色的值,例如,red,pink
  2. 十六进制,如#FF0000,#FF6600
  3. RGB代码,如红色是rgb(255,0,0),或rgb(100%,0%,0%)

line-height:行间距 设置行与行的间距

text-align:水平对齐方式

用于设置文本内容的水平对齐,相当于html的align属性。属性值为:
left:左对齐
right:右对齐
center:居中对齐

text-indent:首行缩进 建议em为单位

letter-spacing:字间距

word-spacing:单词间距 针对英文

word-break:自动换行

颜色半透明(CSS3)

color:rgba(r,g,b,a);         a是alpha  透明的意思 取值范围0~1
color:rgba(0,0,0,0.3);

文字阴影(CSS3)

text-shadow:水平位置  垂直位置  模糊距离  阴影颜色;

h-shadow:必需。水平阴影部分,允许负值
v-shadow:必需。垂直阴影位置,允许负值
blur:可选。模糊的距离
color:可选。阴影的颜色

引入CSS样式表

内部样式表

内部样式表就是将CSS代码集中写在HTML文档的head头部标签中,并且用style定义,基本语法:

<head>
<style type="text/css">
  选择器{
        属性:属性值1;
        }
</style>
</head>
行内式(内联样式)

通过style标签来设置元素的样式,适合样式比较少的情况

<标签 style=“属性:属性值;”>内容</标签>

外部样式表(外联式)

外联式是将所有的样式放在一个或多个以CSS为扩展名的外部样式表文件中,通过link标签将外部样式表链接到HTML文档中,其基本语法结构如下:

<head>
    <link href="css文件路径" type="text/css" rel="stylesheet" />
</head>
  • href:定义所外接样式表的URL
  • type:定义所链接文档的类型
  • rel:定义当前文档与链接文档之间的关系
三种样式表总结
样式表优点缺点使用情况控制范围
行内样式表书写方便,权重高没有实现样式结构相分离较少控制一个标签(少)
内嵌样式表部分结构与样式相分离没有彻底分离较多控制一个页面(中)
外联样式表完全实现样式结构相分离需要引入最多控制整个站点(多)

标签显示模式(display)

规定元素应该生成的框的类型。

块级元素(block-level)

每个块元素通常会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性,通常用于网页布局和网页结构搭建
块级元素的特点:

  1. 总是从新行开始
  2. 高度、行高、外边框以及内边框都可以控制
  3. 宽度默认是容器的100%
  4. 可以容纳内联元素和其它元素
行内元素(inline-level)

不占有独立的区域,仅仅靠自身的字体大小和图像的吃醋来支撑结构,一般不可以设置宽度、高度、对齐等属性,常用于控制页面中文本的样式

行内元素的特点:

  • 和相邻行内元素在一行上
  • 高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效
  • 默认宽度就是它本身内容的宽度
  • 行内元素只能容纳文本或其他行内元素(a特殊)

注意:

  • 只有文字才能组成段落,因此p里面不能放块级元素,同理,h1,h2,h3,h4,h5,h6,dt都是文字类块级元素,里面不能放其他块级元素
  • 链接里面不能再放链接
行内块元素(inline-block)

在行内元素中有几个特殊的标签——<img /><input /><td>,可以对他们设置宽高和对齐属性,有些资料可能会称他们为行内块元素

行内块元素的特点:

  • 和相邻行内元素(行内快)在一行上,但是之间会有空白缝隙
  • 默认宽度就是它本身内容的宽度
  • 高度、行高、外边距以及内边距都可以控制
标签显示模式转换 display

块级元素转换为行内元素:display:inline;
行内元素转换为块级元素:display:block;
块级、行内元素转换为行内块元素:display:inline-block;

CSS复合选择器

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签

交集选择器

交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格

并集选择器

并集选择器是各个选择器通过“逗号”连接而成的,任何形式的选择器(包括标签选择器、class选择器、id选择器等),都可以作为并集选择器的一部分。如果某些选择其定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式

后代选择器

后代选择器又称为包含选择器,用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格隔开。当标签发生嵌套时,内层标签就成为外层标签的后代

子元素选择器

子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间用‘>’进行连接,注意,符号左右两侧各保留一个空格

测试选择器的掌握
<!--主导航栏-->
<div class="nav">
<ul>
<li><a href="#">公司首页</a></li>
<li><a href="#">公司介绍</a></li>
<li><a href="#">公司产品</a></li>
<li>
<a href="#">联系我们</a>
<ul>
<li><a href="#">公司邮箱</a></li>
<li><a href="#">公司电话</a></li>
</ul>
</li>
</ul>
</div>
<!--侧导航栏-->
<div class="sitenav">
<div class="site-l">左侧导航栏</div>
<div class="site-r"><a href="#">登录</a></div>
</div>

任务:

  1. 链接登录的颜色为红色,主导航栏里所有文字改为粉色
.nav a{
	color:pink;
}
.site-r a{
	color:red;
}
  1. 主导航栏和侧导航栏里面的文字都是14px且为微软雅黑
.nav,.sitenav{
	font-size:14px;
	font-family:Microsoft Yahei;
}
  1. 主导航栏里的一级菜单为绿色
.nav > ul > li > a{
	color:green;
}

最终效果:
在这里插入图片描述

属性选择器

对带有指定属性的 HTML 元素设置样式。
可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。
标签[属性]
标签[属性=属性值]
标签[属性^=val] 属性值包含val,并以val开头
标签[属性*=val] 属性值包含val,val可在任一位置
标签[属性$=val] 属性值包含val,并以val结束

伪元素选择器

标签::first-letter 第一个文字
标签::first-line 文本第一行
标签::selection 可改变选中的文本样式
标签::before 在元素内部开始位置创建一个行内元素,必须结合content属性使用(content:属性值;)
标签::after 在元素内部结束位置创建一个行内元素,必须结合content属性使用

CSS书写规范

空格规范
  • 选择器与’{'之间必须包含空格
  • 属性名与之后的‘:’之间不允许包含空格,‘:‘与属性值之间必须包含空格
选择器规范
  • 当一个rule含有多个selector时,每个选择器必须独占一行
  • 选择器的嵌套层次应不大于3级,位置靠后的限定条件应尽可能精准
属性规范
  • 属性定义必须另起一行
  • 属性定义后必须以’;‘结尾
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值