CSS快速学习

一. 概述、

CSS 是一门语言,用于控制网页表现。我们之前介绍过W3C标准。W3C标准规定了网页是由以下组成:

  • 结构:HTML
  • 表现:CSS
  • 行为:JavaScript

好处:

  1. 功能强大
  2. 将内容展示和样式控制分离
    • 降低耦合度。解耦
    • 让分工协作更容易
    • 提高开发效率

CSS也有一个专业的名字:Cascading Style Sheet(层叠样式表)

二. 导入方式

css 导入方式其实就是 css 代码和 html 代码的结合方式。CSS 导入 HTML有三种方式:

1. 内联样式

定义:在标签内部使用style属性,属性值是css属性键值对

<div style="color: red;">鸡你太美</div>

给方式只能作用在这一个标签上,如果其他的标签也想使用同样的样式,那就需要在其他标签上写上相同的样式。复用性太差。

2. 内部样式

在head标签内,定义style标签,style标签的标签体内容就是css代码
在这里插入图片描述

3. 外部样式

方法1

  1. 定义css资源文件。
  2. 在head标签内,定义link标签,引入外部的资源文件
  • 如:
  • a.css文件:
				div{
				    color:green;
				}
			<link rel="stylesheet" href="css/a.css">
			<div>hello css</div>
			<div>hello css</div>

在这里插入图片描述

方法2

注意:对于样式表而言,后定义的会把先定义的样式表覆盖掉。link标签可以放在页面的head中,也可以放在body中,一般建议放在head中,以便于浏览器渲染样式,因为样式在加载完成前需要渲染

注意

css也提供了一种在css文件中到导入其他css文件的功能 – @import,这样就可以也可以导入css文件。

<style>
  /* @import 是在css中使用url函数导入其他的css文件,是css本身的能力*/
  @import url("css/index.css");
</style>

link和@import的区别

从本质上说,这两种方式都是为了加载css文件,但它们还是存在细微的差别。

  1. link属于XHTML标签,而@import完全是css提供的一种方式。link标签除了可以加载css外,还可以做很多其他的事情,比如定义RSS,定义rel连接属性等@import只能加载CSS。
  2. 加载顺序的差别:当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再加载。所以浏览@import加载CSS的页面时可能没有样式,网速慢的时候明显可以看到。
  3. 兼容性的差别:由于@import是CSS2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题,完全兼容。
  4. 使用dom控制样式时的差别:当时用JavaScript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的

三. 选择器和属性

一般我们会根据使用的频繁率和定义的标准,将css的选择器分为如下几种,方便于我们理解和掌握

1. 基本选择器

基本选择器是使用概率最高,也是最常被使用的选择器,必须要掌握它。基本选择器包括如下选择器:

  1. 标签选择器(根据标签名称获取)
  2. ID选择器(获取id为xx的标签)
  3. 选择器(获取标签中class=xxx的标签)
  4. 通用选择器(通配符)
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
    /*不建议使用通配符选择器,建议使用reset.css * { color: red; }*/
    /* 标签选择器 */
    div {color: aqua; }
    /* id选择器 */
    #myprogram { background: yellow; }
    /* 类选择器题 */
    .mylove2 { color: red; }
  </style>
</head>
<body>
  <div id="first" class="mylove" >
   这个是一个div
  </div>
  <p id="myprogram">这个是段落标签</p>
  <div class="mylove mylove2">这个是一个div</div>
  <h1>这个是标题</h1> <hr />
  <div class="list">
    <ul>
      <li>这是是一个列表1</li>
      <li>这是是一个列表2</li>
      <li>这是是一个列表3</li>
      <li>这是是一个列表4</li>
      <li>这是是一个列表5</li>
      <li>这是是一个列表6</li>
      <li>这是是一个列表7</li>
      <li>这是是一个列表8</li>
      <li>这是是一个列表9</li>
      <li>这是是一个列表10</li>
    </ul>
    <li>这是是一个列表8</li>
    <li>这是是一个列表9</li>
    <li>这是是一个列表10</li>
  </div>
</body>
  • 注意:
  1. 标签选择器就是以标签名称为标准选择对应的标签,id则是#id属性来选中标签
  2. 一个页面上id必须是唯一的,所以id选择器只能选择一个标签,类选择器是.class属性选择,class
    属性的值一个页面上允许出现多次,所以class选择器更加灵活,在开发中一般使用最多,通配符选择器不建议使用(*匹配所有标签)

2. 包含选择器

<style>
  /* 子代选择器 */
  div.list>ul { border: 1px solid red; }
  /* 后代选择器 */
  .list li { border: 1px solid red; }
  /* 逗号选择器 */
  .mylove, #myprogram, h1 { color: #eee; width: 200px; height: 30px;
background: skyblue;}
</style>

层次选择器

在这里插入图片描述

<body>
	<span>和div平级的span元素</span>
	<div>
		 <p>我的div下的p元素</p>
		 <span>我是div下的span元素</span>
		 <p> <span>我是div下 的p下的span元素</span> div下的p </p>
		 <h1>div下的h1 <span>h1中的span</span> </h1>
	</div>
	<span>和div平级的span元素</span>
	<h2>和div平级的h2</h2>
	<span>和div平级的span</span>
</body>
  • 概述:
    后代选择器:div span:选择div下的所有的span元素,包括子元素的子元素
    子选择器:div>span:div下的子元素span元素
    相邻兄弟选择器:div+span:和div相邻的兄弟选择器
    通用兄弟选择器:div~span:通用兄弟选择器,和div相邻的span元素

结构伪类选择器

同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示。比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么
状态,点击后是什么状态。所以,就叫做“伪类”

在这里插入图片描述

  • 概述
    ul li:first-child : 选取ul下的第一个子元素是li的。如果第一个子元素不是li则定位不到
    ul li:first-of-type :选择ul li下的第一个类型是li的元素
    ul li:nth-of-type(2):找li这个类型第二个的元素
    ul li:nth-child(2) :第二个子元素是li的

  • 注意:
    使用E F:nth-child(n)和E F:nth-of-type(n)的 关键点

    • u E F:nth-hild(n)在父级里从一个元素开始查找,不分类型
    • u E F:nth-of-type(n)在父级里先看类型,再看位置(推荐使用!!!!)

属性选择器

在这里插入图片描述

  • 概述
    a[title=‘flower’]:a 标签而且属性title的值等于flower
    a[title^=‘a’]:a标签而且由title属性的值开头是a
    a[title$=‘e’]:a标签而且由title属性的值结尾是e
    a[title*=‘e’]:a标签而且由title属性的中包含e

四. 深入css

字体样式

在这里插入图片描述

  • 概述
    font: 风格 粗细 大小 类型 :按照顺序写出来
    font-size:字体的大小 12px 24px
    font-family:字形 看word中字形的设置
    font-weight:粗细 normal[正常] bold[加粗]
    font-style:风格 normal[正常] italic[倾斜]

文本设置

在这里插入图片描述

  • 概述
    color:字体颜色
    text-decoration:下划线underline 删除线line-through 去掉下划线none 上划线 overline
    text-indent:首行缩进 em: 一个汉字
    line-height:行高
    letter-spacing:字符和字符之间的距离
CSS是层叠样式表(Cascading Style Sheets)用来定义网页的显示效果。可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示效果功能。 简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。 那么CSSHtml是如何在网页代码中相结合的呢? CSS的引入方式通过四种方式 1.style属性方式: 利用标签中style属性来改变每个标签的显示样式。 例: <p style="background-color:#FF0000; color:#FFFFFF"> p标签段落内容。 </p> 该方式比较灵活,但是对于多个相同标签的同一样式定义比较麻烦,适合局部修改。 2.style标签方式:(内嵌方式) 在head标签中加入style标签,对多个标签进行统一修改。 <head> <style type=”text/css”> p { color:#FF0000;} </style> </head> 该方式可以对单个页面的样式进行统一设置,但对于局部不够灵活。 3.导入方式: 前提是已经存在一个定义好的CSS文件。网页的一部分样式需要用到,那么就用到这种方式。 例: <style type="text/css"> @import url(css_3.css); div { color:#FF0000;} </style> 注:url括号后面必须要用分号结束。如果导入进来的样式与本页面定义的样式重复,以本页定义样式为准。 4.链接方式: 通过head标签中link标签来实现,前提也是先要有一个已定好的CSS文件。 例: <link rel="stylesheet" type="text/css" href="css_3.css" /> 注:可以通过多个link标签链接进来多个CSS文件。重复样式以最后链接进来的CSS样式为准。 5.样式优先级: 由上到下,由外到内。优先级由低到高。 6.总结CSS代码格式 选择器名称 { 属性名:属性值;属性名:属性值;…….} 7.选择器: 就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器。 选择器共有三种: a)html标签选择器。 b)class选择器。 c)id选择器。 每一个标签都定义了class属性和id属性。用于对标签进行标识,方便对标签进行操作。 在定义的中,多个标签的class属性值可以相同,而id值要唯一,因为JavaScript中经常用。 8.class选择器: 在标签中定义class属性并赋值。通过标签名.class值 对该标签进行样式设置。 例: 相同标签设置不同样式的时候,用class进行区分。 p.pclass_1 {color:#FF0000;} p.pclass_2 {color:#0000FF;} <p class=”pclass_1”>P标签样式</p> <p class=”pclass_2”>P标签样式</p> 不同标签进行相同设置的时候,用class进行统一定义。 .classname {color:#00FF00;} <p class=”classname”>P标签样式</p> <div class=”classname”>DIV标签样式</div> 9.id选择器: 与class选择器类似,但格式不同,选择器的名称为:#id值。 例: #pid { color:#0000FF;} <p id=”pid”>P标签样式</p> 注:多个标签同样可以定义相同的id值,但是对于JavaScript对标签元素的获取就会出错。所以形成习惯,确保id值的唯一性对于以后的数据库设计也很有好处。 10.扩展选择器: a)关联选择器 标签是可以嵌套的,要让相同标签中的不同标签显示不同样式,就可以用此选择器。 例: p { color:#00FF00;} p b { color:#FF000;} <p>P标签<b>刘德华</b>段落样式</p> <p>P标签段落</p> b)组合选择器 对多个不同选择器进行相同样式设置的时候应用此选择器。 p,div { color:#FF0000;} <p>P标签显示段落。</p> <div>DIV标签显示段落</div> 注:多个不同选择器要用逗号分隔开。 c)伪元素选择器 其实就在html中预先定义好的一些选择器。称为伪元素。(CSS的术语) 格式:标签名:伪元素。类名 标签名。类名:伪元素。都可以。 a:link 超链接未点击状态。 a:visited 被访问后的状态。 a:hover 光标移到超链接上的状态(未点击)。 a:active 点击超链接时的状态。 使用顺序 L – V – H - A p:first-line 段落的第一行文本。 p:first-letter 段落中的第一个字母。 :focus 具有焦点的元素。IE浏览器不支持,在FireFox中可以看到效果。 看显示效果的时候注意,浏览器的缓冲的问题。 a:link {color:blue; text-decoration: none; font-size:12px} a:visited {color:gray; text-decoration: none; font-size:8px} a:hover {color:red; text-decoration: underline; font-size:20px} a:active {color:green; text-decoration: none; font-size:30px} 最后,说明一下,我们这里讲解的CSS只是CSS知识库里面的九牛一毛,如果喜欢WebUI的同学可以自学,目前最新的版本是CSS3.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发热的嘤嘤怪(2003计科胜胜同学)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值