Web 前端:CSS语言

CSS

CSS学习网站

在前端开发过程中,需要综合使用多种技术,上一篇中简单讲解了HTML技术,接下来简单介绍一下CSS语言。

CSS概述

CSS(Cascading Style Sheets,层叠样式表):是一种用来表现HTML或XML等文件样式的计算机语言,即提供网页样式来美化网页。它扩展了HTML功能,方便以更有效的方式设置网页内容的表现形式。

CSS基本语法

书写格式:

选择器{
    
    属性名1:属性值1;属性名2:属性值2;...}

其中,选择器:用来对指定的网页标签进行设置。
属性:每一对属性及其值实现对网页标签进行样式的设置。

选择器

CSS选择器实现对HTML页面中的标签一对一、一对多或多对一的控制。下面简单介绍常用的几种选择器。

通用选择器

通用选择器是用通配符“*”表示,代表网页中的所有标签。该选择器通常用于网页各标签的默认样式设置。
书法格式:

*{
    
    属性名1:属性值1;属性名2:属性值2;...}

元素选择器

元素选择器是用HTML标签表示,该选择器决定了指定标签设置相应的CSS样式。
书写格式:

HTML标签名{
    
    属性名1:属性值1;属性名2:属性值2;...}

类选择器

类选择器是用标签的class属性值表示,该选择器主要对不同的标签进行同样的样式设置。
书写格式:

扫描二维码关注公众号,回复: 14313671 查看本文章
.class属性值{
    
    属性名1:属性值1;属性名2:属性值2;...}

其中,“.”是类选择器的标识,不能省略;类选择器名称的第一个字符不能使用数字,同时其名称区分大小写,不允许有空格。

ID选择器

ID选择器是用标签的id属性值表示,该选择器主要对特定的标签进行样式设置。
书写格式:

#id属性值{
    
    属性名1:属性值1;属性名2:属性值2;...}

其中,“#”是ID选择器标识,不能省略;ID选择器名称的第一个字符不能使用数字,同时其名称区分大小写,不允许有空格。

下面对以上四种选择器简单演示,如图:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <title>CSS语言学习</title>
  <style>
    *{
      
      color:red;font-size:8px;margin-bottom:5px;}
	p{
      
      color:green;font-size:16px;margin-bottom:5px;}
	.class1{
      
      color:blue;font-size:32px;margin-bottom:5px;}
	#id1{
      
      color:black;font-size:32px;margin-bottom:5px;}
  </style>
 </head>
 <body>
 	<div>通用选择器示例</div>
 	<p>元素选择器示例</p>
	<div class="class1">类选择器示例</div>
	<div id="id1">ID选择器示例</div>
 </body>
</html>

在这里插入图片描述

关联选择器

关联选择器是主要用来设置嵌套的标签的样式。
书写格式:

标签名 嵌套的标签名{
    
    属性名1:属性值1;属性名2:属性值2;...}

其中,标签名与嵌套标签名之间要用空格隔开。

组合选择器

组合选择器是将不同的标签设置成相同的样式。
书写格式:

标签1,标签2,...{
    
    属性名1:属性值1;属性名2:属性值2;...}

其中,标签名之间要用逗号隔开。

下面对以上两种选择器简单演示,如图:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <title>CSS语言学习</title>
  <style>
	p{
      
      color:blue;}
	p b{
      
      color:black;}
	div,span{
      
      font-size:18px;color:red}
  </style>
 </head>
 <body>
    <p>啊Q老师正在学习<b>关联选择器</b></p>
	<div>啊Q老师正在学习</div>
	<span>组合选择器</span>
 </body>
</html>

在这里插入图片描述

伪类选择器

伪类选择器是用来向特定的选择器添加特殊的效果。
书写格式:

选择器名:伪类{
    
    属性名1:属性值1;属性名2:属性值2;...}

在这里插入图片描述

伪元素选择器

伪元素选择器是用来向特定的选择器添加特殊的效果。
书写格式:

选择器名:伪元素{
    
    属性名1:属性值1;属性名2:属性值2;...}

在这里插入图片描述
下面对以上两种选择器简单演示,如图:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <title>CSS语言学习</title>
  <style>
  	input:focus{
      
      background:#ff9900;}
	a:link{
      
      color:red;font-size:24px;}
	a:hover{
      
      color:blue;font-size:32px;}
	p:after{
      
      content:"after伪元素添加的内容";background:#99f;}
	p:first-letter{
      
      font-size:32px;}
  </style>
 </head>
 <body>
 	<form action="#" method="post">
	   用户名:<input type="text" name="username"/>
	</form>
	<a href="https://www.w3school.com.cn/css/css_pseudo_classes.asp">CSS伪类学习网站</a><br>
	<p>道阻且长,行则将至。</p>
 </body>
</html>

在这里插入图片描述

CSS应用到HTML页面的常用方式

行内式

行内式:在主体区域内使用HTML标签的style属性设置每个标签的样式。它有利于单独设置标签的样式。
书写格式:

<body>
	<标签名 style="属性1:属性值1;属性2:属性值2;...">标签内容</标签名>
</body>

内嵌式

内嵌式:在头部区域内使用style标签设置样式。它有利于统一设置单个网页样式。
书写格式:

<head>
	<style type="text/css">CSS样式定义</style>
</head>
其中,type="text/css"用于定义文件的类型是样式表文本文件。
在HTML5中,可以省略type属性,直接写style.

链接式

链接式:在头部区域内使用link标签链接外部的CSS文件来设置样式。它有利于统一设置多个网页的格式,同时将CSS代码和HTML代码分离,便于日后维护。
书写格式:

<head>
	<link rel="stylesheet" type="text/css" href="CSS文件"/>
</head>
其中,rel="stylesheet":用于定义当前的文件和引入文件的关系。
href属性:用于指定所链接的CSS文件,扩展名为css。

下面对CSS三种应用方式简单演示,如图:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <title>CSS语言学习</title>
  <style>
	p{
      
      color:green;font-size:16px;margin-bottom:5px;}
  </style>
  <link rel="stylesheet" type="text/css" href="CSS.css">
 </head>
 <body>
 	<div style="color:red;font-size:8px;margin-bottom:5px;">行内式应用示例</div>
	<p>内嵌式应用示例</p>
	<span>链接式应用示例</span>
 </body>
</html>

在这里插入图片描述

CSS的冲突及解决

如果页面中的某个对象应用存在多个CSS样式,这些样式之间会存在一定的矛盾,从而产生CSS冲突。为解决CSS冲突问题,浏览器在显示CSS样式时,一般遵循以下的冲突解决原则:
1.样式表类型优先原则:行内式样式 > 内嵌式样式|链接的外部样式。
2.选择器优先原则:ID 选择器 > class 选择器|伪类选择器|属性选择器 > 元素选择器|伪元素选择器 > 通配符选择器|子选择器选择器|相邻兄弟选择器。
3.在相同优先级别或相同方式定义的样式中,后出现的样式的优先级高于先出现的 样式。
4.最近原则:越靠近格式化的元素的父类样式,优先级越高。

盒子模型概述

CSS盒子模型学习网站

盒子模型是CSS布局页面元素所使用的一种思维模型。盒子模型由内容、边框、内边距、外边距组成。在盒子模型中,所有页面中的元素被看作是一个盒子,它们占据一定的页面空间,可通过设定这些组成部分的样式来实现各种各样的排版效果。
在这里插入图片描述
外边距(margin):清除边框外的区域,外边距是透明的。
边框(border):围绕在内边距和内容外的边框。
内边距(padding):清除内容周围的区域,内边距是透明的。
内容(content):盒子的内容,显示文本和图像。

盒子外边距(margin)

外边距是页面上元素和元素之间的空白区域。外边距分上、右、下、左四个方向。
书写格式:

margin:属性值 属性值 属性值 属性值;
margin-方向:属性值;

其中,方向有top,right,left,bottom。
属性值有length,%,auto,inherit。
length表示使用像素、厘米等单位的某个数值。
%表示使用基于父元素的宽度的百分。
auto表示由浏览器计算外边距。
inherit表示从父元素继承内边距。

盒子边框(border)

边框样式可以使用风格、宽度及颜色属性进行设置。
边框风格,如图:
在这里插入图片描述
边框宽度,如图:
在这里插入图片描述
边框颜色及边框简写,如图:
在这里插入图片描述

盒子内边距(padding)

盒子边框和内容之间的空白区域为盒子内边距。内边距也为上、右、下、左四个方向。
书写格式:

padding:属性值 属性值 属性值 属性值;
padding-方向:属性值;

其中,方向有top,right,left,bottom。
属性值有length,%,inherit。
length表示使用像素、厘米等单位的某个正数数值。
%表示使用基于父元素的宽度的百分。
inherit表示从父元素继承内边距。

盒子内容(content)

盒子内容大小由宽度(width)和高度(height)两个属性进行设置。当我们设置CSS元素的宽度和高度属性时,只是设置了内容区域的宽度和高度。盒子的实际大小等于:内容+内边距+外边距+边框。其中,内边距、边框和外边距都是可选的,默认值是零,也可以对它们进行设置。

元素的总宽度计算方式:
元素总宽度 = 宽度 + 左内边距 + 右内边距 + 左边框 + 右边框 + 左外边距 + 右外边距

元素的总高度计算方式:
元素总高度 = 高度 + 上内边距 + 下内边距 + 上边框 + 下边框 + 上外边距 + 下外边距

猜你喜欢

转载自blog.csdn.net/qq_56886142/article/details/123570135