CSS学习笔记

CSS(Cascading Style Sheets 层叠样式表)



前言

欢迎来到这篇学习总结,在这个数字化时代,网页设计和开发已经成为了一门热门的技能。而在网页设计中,CSS扮演着至关重要的角色。CSS不仅可以为网页添加美观的外观,还可以提供丰富的交互效果和响应式布局。本篇学习总结主要记录了作者本学期对于css学习的过程中的重点。


一、CSS基础知识

1.CSS是什么,它的作用和用途是什么?

  • CSS 指层叠样式表 (Cascading Style Sheets)

  • 样式定义如何显示 HTML 元素

  • 样式通常存储在样式表中

  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题

  • 外部样式表可以极大提高工作效率

  • 外部样式表通常存储在 CSS 文件中

  • 多个样式定义可层叠为一个

CSS的主要用途包括:

样式化网页:通过CSS,您可以为网页添加各种样式,使其更加美观和专业。您可以调整字体、颜色、背景、边框等,以及添加动画和过渡效果,使网页更具吸引力。

布局控制:CSS可以帮助您创建灵活的网页布局。您可以使用CSS的盒模型来控制元素的位置、大小和间距,以及使用浮动和定位来实现复杂的布局结构。

响应式设计:CSS还可以实现响应式设计,使网页能够适应不同的屏幕尺寸和设备。通过使用媒体查询和弹性布局,您可以为不同的设备提供不同的样式和布局。

2.CSS的语法结构和基本规则。

CSS的语法结构和基本规则如下:

选择器:选择器用于选择要应用样式的HTML元素。常见的选择器包括标签选择器(如p、h1)、类选择器(如.classname)、ID选择器(如#idname)等。

声明块:声明块由一对花括号{}包围,包含一条或多条样式声明。每个样式声明由属性和值组成,用冒号:分隔。

属性和值:属性用于描述要修改的样式特性,值用于指定属性的具体取值。常见的属性包括color(颜色)、font-size(字体大小)、background-color(背景颜色)等。

注释:注释用于在CSS代码中添加注释说明,以便于他人理解和维护代码。注释以/*开头,以*/结尾。
注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。

3.如何将CSS应用于HTML文档。

将CSS应用于HTML文档的方法有多种,常见的方式包括:

  • 内联样式:在HTML元素的style属性中直接编写CSS代码。例如:
<p style="color: red;">Hello,
   World!</p>
  • 内部样式表:在HTML文档的<head>标签中使用<style>标签来定义CSS样式。例如:
<head>
  <style>
    p {
      color: red;
    }
  </style>
</head>
<body>
  <p>Hello, World!</p>
</body>
  • 外部样式表:将CSS代码保存在独立的.css文件中,并在HTML文档中使用<link>标签引入外部样式表。例如:
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <p>Hello, World!</p>
</body>

二、CSS id和class选择器

如果要在HTML元素中设置CSS样式,需要在元素中设置"id" 和 "class"选择器。

- id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 “#” 来定义。

以下的样式规则应用于元素属性 id=“para1”:

#para1
{
    text-align:center;
    color:red;
}

Remark ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。

- class 选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

class 选择器在 HTML 中以 class 属性表示, 在 CSS 中,类选择器以一个点 . 号显示:

在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

.center {text-align:center;}

也可以指定特定的 HTML 元素使用 class。

在以下实例中, 所有的 p 元素使用 class=“center” 让该元素的文本居中:

p.center {text-align:center;}

多个 class 选择器可以使用空格分开:

.center { text-align:center; }
.color { color:#ff0000; }

三、样式属性和值

学习CSS样式属性和值是理解和应用CSS的关键部分。

  1. 属性(Property):CSS属性用于描述要修改的样式特性。常见的CSS属性包括:

    • color:设置文本颜色。
    • font-size:设置字体大小。
    • background-color:设置背景颜色。
    • margin:设置元素的外边距。
    • padding:设置元素的内边距。
    • border:设置元素的边框样式。
    • width:设置元素的宽度。
    • height:设置元素的高度。
  2. 值(Value):CSS属性的值用于指定属性的具体取值。常见的CSS值包括:

    • 颜色值:可以使用具体的颜色名称(如redblue)或使用十六进制(如#FF0000)或RGB(如rgb(255, 0, 0))表示颜色。
    • 尺寸值:可以使用像素(如10px)、百分比(如50%)或其他单位(如emrem)表示尺寸。
    • 字体值:可以使用具体的字体名称(如ArialVerdana)或通用字体系列(如serifsans-serif)表示字体。
    • 布尔值:表示真或假的值,如truefalse
    • 数字值:表示数值,可以是整数或小数。
  3. 继承性(Inheritance):某些CSS属性具有继承性,意味着它们的值会被子元素继承。例如,color属性具有继承性,如果您在父元素上设置了color属性,子元素将继承该颜色。

  4. 优先级(Specificity):当多个CSS规则应用于同一个元素时,优先级决定了哪个规则的样式将被应用。一般来说,ID选择器的优先级最高,其次是类选择器和属性选择器,最后是标签选择器。

  5. 值的组合和分组:您可以组合多个值来设置一个属性。例如,font属性可以同时设置字体大小、字体系列和字体样式。您还可以使用逗号将多个属性值分组在一起,例如,margin属性可以设置四个方向的外边距值。

  6. 值的继承和重写:某些属性的值会被子元素继承,但子元素也可以通过设置自己的值来重写继承的值。例如,如果父元素设置了font-size属性,子元素可以通过设置自己的font-size来覆盖继承的值。

以下是一些示例说明:

  1. 颜色值:
h1 {
  color: red;
}

p {
  color: #00FF00;
}

span {
  color: rgb(0, 0, 255);
}

上述代码中,h1元素的文本颜色被设置为红色,p元素的文本颜色被设置为绿色,span元素的文本颜色被设置为蓝色。

  1. 尺寸值:
div {
  width: 200px;
  height: 50%;
  margin: 10px;
  padding: 20px;
}

上述代码中,div元素的宽度被设置为200像素,高度被设置为父元素高度的50%,外边距和内边距都被设置为10像素和20像素。

  1. 字体值:
p {
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  font-style: italic;
}

上述代码中,p元素的字体系列被设置为Arial和通用无衬线字体,字体大小被设置为16像素,字体加粗和斜体样式都被应用。

  1. 布尔值:
input[type="text"] {
  display: none;
}

上述代码中,具有type属性值为textinput元素被设置为不显示(隐藏)。

  1. 数字值:
div {
  opacity: 0.5;
  z-index: 10;
}

上述代码中,div元素的不透明度被设置为0.5,z-index属性被设置为10。

通过这些示例,可以看到如何使用不同的CSS样式属性和值来修改和控制HTML元素的外观和布局。


四、CSS Text(文本)

1.文本颜色

颜色属性被用来设置文字的颜色。

颜色是通过CSS最经常的指定:

  • 十六进制值 - 如: #FF0000

  • 一个RGB值 - 如: RGB(255,0,0)

  • 颜色的名称 - 如: red

一个网页的背景颜色是指在主体内的选择:

body {color:red;}
h1 {color:#00ff00;}
h2 {color:rgb(255,0,0);}

2.文本的对齐方式

文本排列属性是用来设置文本的水平对齐方式。

文本可居中或对齐到左或右,两端对齐.

text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。

h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;}

3.文本修饰

text-decoration 属性用来设置或删除文本的装饰。

从设计的角度看 text-decoration属性主要是用来删除链接的下划线:

a {text-decoration:none;}

4.文本转换

文本转换属性是用来指定在一个文本中的大写和小写字母。

可用于所有字句变成大写或小写字母,或每个单词的首字母大写。

p.uppercase {text-transform:uppercase;}
p.lowercase {text-transform:lowercase;}
p.capitalize {text-transform:capitalize;}

5.文本缩进

文本缩进属性是用来指定文本的第一行的缩进。

p {text-indent:50px;}

6.常见的文本属性值

以下是一些常见的CSS文本属性:

color:设置文本颜色。
font-family:设置字体系列。
font-size:设置字体大小。
font-weight:设置字体粗细。
font-style:设置字体样式(如斜体)。
text-align:设置文本对齐方式。
text-decoration:设置文本装饰效果(如下划线、删除线)。
text-transform:设置文本转换效果(如大写、小写、首字母大写)。
line-height:设置行高。
letter-spacing:设置字母间距。
word-spacing:设置单词间距。
text-indent:设置文本缩进。
text-overflow:设置文本溢出处理方式。
white-space:设置空白字符处理方式。
vertical-align:设置垂直对齐方式。
direction:设置文本方向(如从左到右或从右到左)。
unicode-bidi:设置文本的双向性。
overflow-wrap:设置文本换行规则。
word-break:设置单词的换行规则。
hyphens:设置断字规则。


五、链接(Link)

1.链接样式

链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。

特别的链接,可以有不同的样式,这取决于他们是什么状态。

这四个链接状态是:

  • a:link - 正常,未访问过的链接
  • a:visited - 用户已访问过的链接
  • a:hover - 当用户鼠标放在链接上时
  • a:active - 链接被点击的那一刻
    以下是四个链接状态的例子:
a:link {color:#000000;}      /* 未访问链接*/
a:visited {color:#00FF00;}  /* 已访问链接 */
a:hover {color:#FF00FF;}  /* 鼠标移动到链接上 */
a:active {color:#0000FF;}  /* 鼠标点击时 */

当设置为若干链路状态的样式,也有一些顺序规则:

  • a:hover 必须跟在 a:linka:visited后面
  • a:active 必须跟在 a:hover后面

2.常见的链接样式

根据上述链接的颜色变化的例子,看它是在什么状态。

让我们通过一些其他常见的方式转到链接样式:

文本修饰

text-decoration 属性主要用于删除链接中的下划线:

a:link {text-decoration:none;}
a:visited {text-decoration:none;}
a:hover {text-decoration:underline;}
a:active {text-decoration:underline;}

背景颜色

背景颜色属性指定链接背景色:

a:link {background-color:#B2FF99;}
a:visited {background-color:#FFFF85;}
a:hover {background-color:#FF704D;}
a:active {background-color:#FF704D;}

3.创建一个链接框

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>xxx</title> 
<style>
a:link,a:visited
{
	display:block;
	font-weight:bold;
	color:#FFFFFF;
	background-color:#98bf21;
	width:120px;
	text-align:center;
	padding:4px;
	text-decoration:none;
}
a:hover,a:active
{
	background-color:#7A991A;
}
</style>
</head>

<body>
<a href="/css/" target="_blank">这是一个链接</a>
</body>
</html>

效果如下:

菜鸟教程(runoob.com) 这是一个链接

六、CSS导航栏

1.标准导航栏

作为标准的 HTML 基础一个导航栏是必须的。

在这个例子中我们将建立一个标准的 HTML 列表导航栏。

导航条基本上是一个链接列表,所以使用 <ul><li>元素非常有意义:
实例

<ul>
  <li><a href="#home">主页</a></li>
  <li><a href="#news">新闻</a></li>
  <li><a href="#contact">联系</a></li>
  <li><a href="#about">关于</a></li>
</ul>

从列表中删除边距和填充:

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
  • list-style-type:none - 移除列表前小标志。一个导航栏并不需要列表标记
    移除浏览器的默认设置将边距和填充设置为0

上面的例子中的代码是垂直和水平导航栏使用的标准代码。

2.垂直导航栏

上面的代码,我们只需要 <a>元素的样式,建立一个垂直的导航栏:

a
{
    display:block;
    width:60px;
}
  • display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度
  • width:60px -块元素默认情况下是最大宽度。我们要指定一个60像素的宽度
    实例:
ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 200px;
    background-color: #f1f1f1;
}
 
li a {
    display: block;
    color: #000;
    padding: 8px 16px;
    text-decoration: none;
}
 
/* 鼠标移动到选项上修改背景颜色 */
li a:hover {
    background-color: #555;
    color: white;
}

3.创建链接并添加边框

可以在 <li> or <a> 上添加text-align:center 样式来让链接居中。

可以在 border <ul> 上添加 border 属性来让导航栏有边框。如果要在每个选项上添加边框,可以在每个 <li> 元素上添加border-bottom :

ul {
    border: 1px solid #555;
}
 
li {
    text-align: center;
    border-bottom: 1px solid #555;
}
 
li:last-child {
    border-bottom: none;
}

4.全屏高度的固定导航条

接下来创建一个左边是全屏高度的固定导航条,右边是可滚动的内容。

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 25%;
    background-color: #f1f1f1;
    height: 100%; /* 全屏高度 */
    position: fixed; 
    overflow: auto; /* 如果导航栏选项多,允许滚动 */
}

5.水平导航栏

有两种方法创建横向导航栏。使用内联(inline)或浮动(float)的列表项。

这两种方法都很好,但如果想链接到具有相同的大小,必须使用浮动的方法。

6.内联列表项

建立一个横向导航栏的方法之一是指定元素, 下述代码是标准的内联:
实例

li
{
    display:inline;
}

- display:inline; - 默认情况下,<li> 元素是块元素。在这里,我们删除换行符之前和之后每个列表项,以显示一行。

7.浮动列表项

在上面的例子中链接有不同的宽度。

对于所有的链接宽度相等,浮动 <li>元素,并指定为 <a>元素的宽度:

li
{
    float:left;
}
a
{
    display:block;
    width:60px;
}
  • float:left - 使用浮动块元素的幻灯片彼此相邻

  • display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度

  • width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度

8.链接右对齐

将导航条最右边的选项设置右对齐 (float:right):

<ul>
  <li><a href="#home">主页</a></li>
  <li><a href="#news">新闻</a></li>
  <li><a href="#contact">联系</a></li>
  <li style="float:right"><a class="active" href="#about">关于</a></li>
</ul>

9.添加分割线

<li> 通过 border-right 样式来添加分割线:

/* 除了最后一个选项(last-child) 其他的都添加分割线 */
li {
    border-right: 1px solid #bbb;
}
 
li:last-child {
    border-right: none;
}

10.固定导航条

可以设置页面的导航条固定在头部或者底部:
固定在头部

ul {
    position: fixed;
    top: 0;
    width: 100%;
}

固定在底部

ul {
    position: fixed;
    bottom: 0;
    width: 100%;
}

七、CSS动画

1.定义和用法

一些 CSS 属性是可以有动画效果的,这意味着它们可以用于动画和过渡。

动画属性可以逐渐地从一个值变化到另一个值,比如尺寸大小、数量、百分比和颜色。
实例:

背景颜色逐渐地从红色变化到蓝色:
@keyframes mymove
    {
    from {background-color:red;}
    to {background-color:blue;}
}
 
/*Safari 和 Chrome:*/
@-webkit-keyframes mymove
{
    from {background-color:red;}
    to {background-color:blue;}
}

2.常用的动画属性

以下是一些常用的CSS动画属性:

  1. animation-name:指定动画的名称,可以通过@keyframes规则定义动画的关键帧。
@keyframes slide-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

.element {
  animation-name: slide-in;
}
  1. animation-duration:指定动画的持续时间,以秒(s)或毫秒(ms)为单位。
.element {
  animation-duration: 2s;
}
  1. animation-timing-function:指定动画的时间函数,用于控制动画的速度曲线。常见的时间函数有linear(线性)、ease(缓入缓出)、ease-in(缓入)、ease-out(缓出)等。
.element {
  animation-timing-function: ease-in-out;
}
  1. animation-delay:指定动画的延迟时间,以秒(s)或毫秒(ms)为单位。
.element {
  animation-delay: 1s;
}
  1. animation-iteration-count:指定动画的播放次数,可以使用具体的次数(整数)或infinite(无限次)。
.element {
  animation-iteration-count: 3;
}
  1. animation-direction:指定动画的播放方向,可以是normal(正向)、reverse(反向)、alternate(交替播放正向和反向)或alternate-reverse(交替播放反向和正向)。
.element {
  animation-direction: alternate;
}
  1. animation-fill-mode:指定动画在播放前和播放后的样式状态。常见的值有none(动画结束后回到初始状态)、forwards(动画结束后保持最后一帧的状态)、backwards(动画延迟期间显示第一帧的状态)和both(同时应用forwards和backwards)。
.element {
  animation-fill-mode: forwards;
}
  1. animation-play-state:指定动画的播放状态,可以是running(运行)或paused(暂停)。
.element {
  animation-play-state: paused;
}

这些CSS动画属性可以组合使用,以创建各种复杂的动画效果。通过调整这些属性的值,可以控制动画的各个方面,如持续时间、速度曲线、延迟时间、播放次数等。


总结

学习css是一个非常漫长的过程,因为其涉及到的方面太广泛了,即使是学到了,也不见得会用,我感受到要熟悉的运用好css需要大量的时间和实践积累,同时多多学习优秀的网页设计也是必要的,这些都有助于学习掌握css。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值