文章目录
CSS 指层叠样式表 (Cascading Style Sheets)定义如何显示控制 HTML 元素,从而实现美化HTML网页。
优势:
为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,有了CSS,html中大部分表
现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。
一.基本语法
格式: 选择器{属性:值;属性:值;属性:值;…}
1.1 css页面引入方法
内联式: 通过标签的style属性,在标签上直接写样式。
<div style="margin:40px 80px 40px 600px;width: 1000px;height: 400px">
嵌入式: 通过style标签,在网页上创建嵌入的样式表。
<style type="text/css">
.header {
width: 960px;
height: 42px;
border: 1px solid black;
margin: 0 auto;
}
</style>
外联式: 通过link标签,链接到外部样式表到页面中。
<link rel="stylesheet" type="text/css" href="css/main.css">
二.常用css样式
2.1 文本设置
color 设置文字的颜色,如: color:red;
font-size 设置文字的大小,如:font-size:12px;
font-family 设置文字的字体,如:font-family:'微软雅黑';
font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
font 同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写:
font:是否加粗 字号/行高 字体;如: font:normal 12px/36px '微软雅黑';
line-height 设置文字的行高,如:line-height:24px;
text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉
text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px
text-align 设置文字水平对齐方式,如text-align:center 设置文字水平居中
2.2 css颜色表示法
css颜色值主要有三种表示方法:
1、颜色名表示,比如:red 红色,gold 金色
2、rgb表示,比如:rgb(255,0,0)表示红色
3、16进制数值表示,比如:#ff0000 表示红色,这种可以简写成 #f00
三.基本选择器
3.1 标签选择器
标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。举例:
3.2 id选择器
通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。举例:
3.3 类选择器
通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。举例:
3.4 层级选择器
主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。举例:
3.5 组选择器
多个选择器,如果有同样的样式设置,可以使用组选择器。举例:
3.6 伪类及伪元素选择器
常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容。
四.盒子模型
所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。
Margin(外边距) - 清除边框外的区域,外边距是透明的。
Border(边框) - 围绕在内边距和内容外的边框。
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
Content(内容) - 盒子的内容,显示文本和图像。
边距一共有四个方向:依次为上、右、下、左。
padding: 0px 2px 3px 9px; (上, 右, 下, 左)
padding: 0px 2px, 3px(上, 左右, 下)
padding: 0px 2px(上下, 左右)
五.CSS浮动
CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。
Float(浮动),往往是用于图像,但它在布局时一样非常有用。
5.1 元素怎样浮动?
元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
浮动元素之后的元素将围绕它。
浮动元素之前的元素将不会受到影响。
如果图像是右浮动,下面的文本流将环绕在它左边:
练习
做一个简单的导航条
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
.header {
width: 960px;
height: 42px;
border: 1px solid black;
margin: 0 auto;
}
.header li {
/*设置li为行内块级元素*/
display: inline-block;
height: 42px;
padding-top: 12px;
text-align: center;
}
.header li a{
text-decoration: none;
color: #333;
font-size: 14px;
font-weight: bold;
padding: 10px;
}
</style>
</head>
<body>
<div class="header">
<ul>
<li ><a href="#">首页</a></li>
<li><a href="#">|</a></li>
<li><a href="#">网站建设</a></li>
<li><a href="#">|</a></li>
<li><a href="#">程序开发</a></li>
<li><a href="#">|</a></li>
<li><a href="#">网络营销</a></li>
<li><a href="#">|</a></li>
<li><a href="#">企业VI</a></li>
<li><a href="#">|</a></li>
<li><a href="#">案例展示</a></li>
<li><a href="#">|</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</div>
</body>
</html>
效果:
写qq邮箱登录界面
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.o11{
width: 177px;
}
</style>
</head>
<body>
<img src="qq上层.png">
<div style="margin:40px 80px 40px 600px;width: 1000px;height: 400px">
<div style="width: 200px;height: 177px;float: left">
<div style="width: 200px;font-size:23px;color:blue;margin: 15px 0px">QQ邮箱,常联系!</div>
<div class="o11">1987年9月14日21时07分
中国第一封电子邮件
从北京发往德国
“越过长城,走向世界”</div>
</div>
<div style="width: 200px;height: 210px;margin: 80px 20px 0px 20px;float: left" >
<img src="电脑.png">
</div>
<div style="float: left;margin: 20px 40px;border: 1px solid darkgray">
<div>
<table style="background-color: ghostwhite;width: 300px;height: 55px">
<tr>
<td style="text-align: center ">微信登录</td>
<td style="text-align: center ">QQ登录</td>
</tr>
</table>
</div>
<div style="padding:30px 45px 5px 50px ">
<form action="#" method="get" >
<input type="text" name="username" placeholder="支持qq号/邮箱/手机号登录" width=""><br>
</form>
</div>
<div style="padding:5px 45px 5px 50px ">
<form action="#" method="get">
<input type="password" name="password" placeholder="QQ密码" ><br>
</form>
</div>
<div style="padding:10px 45px">
<form action="#" method="get">
<input type="checkbox" name="sex" value="female" size="2px">下次自动登录
</form>
</div>
<div style="padding:10px 45px;text-align: center;font-size:20px;border: 1px solid deepskyblue;background-color:dodgerblue;margin:5px 45px 5px 50px">
<a href="#" style="text-decoration:none">登录</a>
</div>
<div style="padding:5px 100px" >
<img src="扫码.png">
</div>
<div style="padding:5px 45px 5px 195px" >
<a href="#" style="text-decoration:none ;font-size:12px" >忘了密码?</a>
</div>
</div>
</div>
</body>
</html>
效果: