CSS是什么文件及其基本用法(w3school)

CSS是一种基于标记语言的样式表语言,用于描述HTML或XML等文档的外观和样式。它是一种简单易学并且具有广泛应用的语言,可以帮助开发者实现网页的美化和布局等功能。

一、CSS的作用

CSS可以控制网页的排版、字体、颜色、背景、边框、大小、间距和显示方式等属性,使网页看起来更加美观、易读、易为人们接受和使用。具体来说,CSS具有以下作用:

1、样式控制:CSS用来控制网站样式,如字体大小、颜色、对齐方式等。

h1 {
  font-size: 24px;
  color: #333;
  text-align: center;
}

2、布局控制:CSS还可以进行页面布局上的控制,如盒子模型、浮动、定位等。

.box {
  width: 300px;
  height: 200px;
  margin: 0 auto;
  border: 1px solid #ccc;
}

3、响应式设计:CSS还可以根据设备屏幕的大小和设备的类型,对网站进行自动适应和调整布局,实现响应式设计。如@media查询和弹性布局等。

@media (max-width: 768px) {
  .box {
    width: 100%;
    height: 100px;
  }
}

二、CSS的语法

CSS采用键值对的方式设置样式,也就是属性和属性值的组合。其基本语法如下:

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

其中,选择器用来选中某个HTML元素,引导CSS样式作用于该元素。属性是CSS规定要设置的外观或样式,而属性值则是可用的选项或者指定的具体值。

三、CSS的选择器

CSS的选择器用来选中一个或一组HTML元素,并应用特定的样式。CSS选择器有以下几种:

1、元素选择器:使用HTML元素的标签名作为选择器,可选择一组或多组具有相同标签名的元素。

p {
  font-size: 18px;
}

2、ID选择器:使用标签属性id作为选择器,可选择具有和该属性值相同的元素。一个id选择器仅代表一个元素。

#container {
  width: 960px;
  margin: 0 auto;
}

3、类选择器:使用类名作为选择器,可选择一组或多组具有和该类名相同的元素。

.text-red {
  color: red;
}

4、属性选择器:使用元素属性名和属性值作为选择器,可选择具有该属性和属性值的元素。

input[type="text"] {
  width: 200px;
  padding: 8px;
}

四、CSS的继承和优先级

在CSS中,样式可以从父元素继承到子元素,这种继承关系可以通过CSS规则进行控制。当一个元素的多个样式规则发生冲突时,CSS的优先级规则会进行权重比较,以决定最终使用哪种样式。

1、继承性:某些属性具有继承性,这意味着如果没有为某个元素显式设置某些属性值,那么它们将从其父元素或祖先元素继承这些属性值。如字体、行高、文本颜色、文本大小等属性。

body {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}
h1 {
    font-weight: bold;
}

2、优先级:CSS样式的优先级规则是指当多个CSS规则应用于相同的元素时,哪个规则将胜出。其优先级顺序如下:

行内样式 > ID选择器 > 类选择器 > 元素选择器,同一种选择器可以叠加规则。

.container {
  color: red;
}
p {
  color: blue;
}
.container p {
  color: yellow;
}

五、CSS的外部引入

在页面头部或者尾部引入CSS文件可以提高页面效率,使CSS样式代码和HTML代码分离展示。外部引入有以下几种方式:

1、使用<link>标签:<link>标签可以将外部CSS文件引入到HTML文档中,一般放在HTML文档的<head></head>部分。

<head>
    <link rel="stylesheet" href="/css/styles.css">
</head>

2、使用@import语句:@import语句可以在CSS文件中引入其他CSS文件。

@import url("/css/styles.css");

六、CSS的盒模型

CSS的盒模型指的是HTML元素在页面中所占的空间大小。在CSS中,每个HTML元素都可以看作一个矩形的盒模型,由四个部分构成:

1、content:内容区

2、padding:内边距区

3、border:边框区

4、margin:外边距区

因此,CSS样式中常包含各种属性来控制这四个区域的大小和间距,实现页面的排版和布局。

.box {
  width: 300px;
  height: 200px;
  padding: 10px;
  border: 1px solid #ccc;
  margin: 10px;
}

七、CSS的浮动和清除浮动

浮动是CSS用来实现布局的一种方式,将元素从正常的文档流中移动到页面的左侧或右侧,可以实现多个元素横向排列的效果。清除浮动是为了解决浮动元素不占位而导致的影响布局的问题。

1、浮动:浮动可以通过设置CSS的float属性来实现。浮动元素可以左浮动(float: left;)、右浮动(float: right;)或者不浮动(float: none;)。

.left {
  float: left;
  width: 50%;
}
.right {
  float: right;
  width: 50%;
}

2、清除浮动:为了解决浮动元素对其他元素排版产生的影响,需要使用CSS属性清除浮动,避免影响布局,最常见的清除浮动方法就是使用clearfix。

.clearfix:after{
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
.clearfix {
  *zoom:1;
}

八、CSS的定位和层叠

1、定位:CSS用定位属性来控制元素在页面中的位置。常见的定位属性有absolute、relative和fixed。absolute表示绝对定位,元素的位置与文档流无关;relative表示相对定位,由元素的默认位置产生相对位移;而fixed表示固定定位,相对于屏幕视图而非文档窗口定位。

.box-one {
  position: absolute;
  top: 20px;
  left: 20px;
}
.box-two {
  position: relative;
  top: 20px;
  left: 20px;
}
.box-three {
  position: fixed;
  top: 20px;
  left: 20px;
}

2、层叠:当多个元素的样式规则冲突时,CSS会使用层叠规则来将多个规则合并成一个,从而产生最终的效果。在层叠规则中,元素的样式会被按照特定的顺序逐一应用,从而决定其最终的表现方式。

通常情况下,层叠顺序规则为:背景 > 边框 > 普通文本 > 定位 > 非定位盒子(块级元素) > 浮动元素。标记中后出现的元素会排在前面。

九、CSS动画

CSS3提供了一些新的样式属性和特效来创建动画效果,如transform、transition、animation和@keyframes等。这些效果可以实现许多比较酷的特效,如旋转、缩放、变色、弹跳等。

1、transform:transform属性可以对元素进行旋转、缩放、拉伸、平移等变形操作。

.box {
  transform: rotate(30deg) scale(1.2) translate(20px, 50px);
}

2、transition:transition属性定义了元素从一种样式变为另一种样式时的过渡效果。它可以控制过渡时长、延迟、动画速度曲线等属性。

.box:hover {
  background-color: red;
  transition: background-color 0.5s ease-out;
}

3、animation:animation属性定义了一个动画效果,可以通过@keyframes规则来定义动画的关键帧,然后将其应用于元素上。

@keyframes myanimation {
  0% { transform: scale(1.0); }
  50% { transform: scale(1.5); }
  100% { transform: scale(1.0); }
}
.box {
  animation: myanimation 2s ease infinite;
}

总结

本文从CSS的作用、语法、选择器、继承、优先级、外部引入、盒模型、浮动和清除浮动、定位和层叠以及动画等方面进行详细阐述。在实际项目中,CSS是实现网页美化和布局的重要手段之一,理解和掌握CSS的基本用法和高级特性对开发高质量网站非常重要。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平