Cascading Style Sheets,也称为CSS,是一种旨在为Web页定义样式的语言。CSS样式定义了对文本、字体、白色、背景和其他网页元素该如何显示和放置的规则。
一、样式表的分类
CSS样式表主要分为三类:
1、内联样式表:将CSS样式直接写在HTML页面标签的style属性中。
<h1 style="color:blue;margin-left:30px;font-size:20px;">标题</h1>
2、文档样式表: CSS代码放置在一个独立的外部文档中,以.css后缀命名。
/*style.css*/ h1 { color:blue; margin-left:30px; font-size:20px; } /* index.html */ <head> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <h1>标题</h1> </body>
3、内部样式表:CSS代码写在HTML文档的heade标签中,以style标签包裹。
<head> <style> h1 { color:blue; margin-left:30px; font-size:20px; } </style> </head> <body> <h1>标题</h1> </body>
二、CSS选择器
选择器是CSS中非常重要的一部分,它用于定位HTML文档中的元素。
1、元素选择器:使用元素名称来选择一组元素。
h1 { color:blue; font-size:20px; }
2、类选择器:使用class属性选择匹配的元素。
.big { font-size:20px; } <p class="big">这是一个大号字体的段落</p>
3、ID选择器:使用id属性选择匹配的元素。
#main-logo { width:200px; height:100px; } <img id="main-logo" src="logo.jpg">
三、CSS盒模型
CSS盒模型封装了HTML元素的内容、内边距、边框和外边距。将Web文档的各个部分视为一个矩形框,即盒子(box),盒模型的主要作用就是对这些矩形框进行布局,以及设置每个盒子的大小、位置。
盒模型主要分为两种模型:
1、标准盒模型:盒子总宽度=内容宽度+内边距宽度+边框宽度+外边距宽度。
.box { width:200px; height:200px; padding:20px; border:1px solid #000; margin:10px; } <div class="box"></div>
2、IE盒模型:盒子总宽度=内容宽度+外边距宽度+边框宽度。padding 和 border都在里面。
.box { width:200px; height:200px; padding:20px; border:1px solid #000; margin:10px; box-sizing:border-box; /*IE盒模型*/ } <div class="box"></div>
四、响应式布局
响应式设计是一种设计理念,可以自动适应不同设备和屏幕大小的网站。有两种方法可以实现响应式布局:
1、媒体查询:可以为不同设备设置不同的CSS样式。
@media screen and (max-width:768px) { body { background:blue; } } @media screen and (min-width:768px) { body { background:green; } }
2、弹性布局:使网页元素的大小和位置随屏幕大小的变化而变化。
.parent { display:flex; justify-content:space-between; align-items:center; } .child { flex:1; /*平均分配空间*/ height:50px; margin:5px; } <div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> </div>
五、定位和浮动
1、定位:使用position属性设置元素的定位方式。
.box { width:200px; height:200px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); } <div class="box"></div>
2、浮动:使元素向左或向右浮动,可以使多个元素在同一行显示。
.left { float:left; width:200px; height:200px; background:red; } .right { float:right; width:200px; height:200px; background:blue; } <div class="left"></div> <div class="right"></div>
六、CSS动画
使用CSS动画可以让元素在页面上显示出流畅的运动效果。
@keyframes move { 0% {transform:translateX(0);} 50% {transform:translateX(500px);} 100% {transform:translateX(0);} } .box { width:100px; height:100px; background:red; animation:move 3s linear infinite; } <div class="box"></div>
七、总结
CSS作为网页的样式表,对于美化网页、提高用户体验起着至关重要的作用。在学习CSS时,需要掌握基本的语法、选择器、盒模型等知识,并学习响应式布局、定位和浮动、CSS动画等高级应用。