动图CSS:页面美化和布局控制
一. 概念: Cascading Style Sheets 层叠样式表
* 层叠:多个样式可以作用在同一个html的元素上,同时生效
二. 好处:
1. 功能强大
2. 将内容展示和样式控制分离
* 降低耦合度。解耦
* 让分工协作更容易
* 提高开发效率
三. CSS的使用:CSS与html结合方式
1. 内联样式
* 在标签内使用style属性指定css代码
* 如:<div style="color:red;">hello css</div>
2. 内部样式
* 在head标签内,定义style标签,style标签的标签体内容就是css代码,css代码作用的范围就是元素名称为<div>的元素。
* 如:
<style>
div{
color:blue;
}
</style>
<div>hello css</div>
3. 外部样式
(1)定义css资源文件。
(2) 在head标签内,定义link标签,引入外部的资源文件
* 如:
* a.css文件:
div{
color:green;
}
<link rel="stylesheet" href="css/a.css">
<div>hello css</div>
<div>hello css</div>
需要注意以下几点:
(1) 上面1,2,3种方式 css作用范围越来越大
(2)1方式不常用,后期常用2,3
(3)第3种格式可以写为:
<style>
@import "css/a.css";
</style>
4. css语法:
* 格式:
选择器 {
属性名1:属性值1;
属性名2:属性值2;
...
}
* 选择器:筛选具有相似特征的元素
* 注意:
* 每一对属性需要使用;隔开,最后一对属性可以不加;
5. 选择器:筛选具有相似特征的元素
* 分类:
(1) 基础选择器
1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
* 语法:#id属性值{}
2. 元素选择器:选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意:id选择器优先级高于元素选择器
3. 类选择器:选择具有相同的class属性值的元素。
* 语法:.class属性值{}
* 注意:类选择器选择器优先级高于元素选择器
(2) 扩展选择器:
1. 选择所有元素:
* 语法: *{}
2. 并集选择器:
* 选择器1,选择器2{}
3. 后代选择器:筛选1元素下所有层级中的2元素
* 语法: 选择器1 选择器2{}
4. 子选择器:筛选1元素中一级目录下的2元素
* 语法: 选择器1 > 选择器2{}
5. 属性选择器:选择元素名称,属性名=属性值的元素
* 语法: 元素名称[属性名="属性值"]{}
注意:属性名称后面可以没有值,表示只要具有这个属性的元素都会被选中。
6. 伪类选择器:选择一些元素具有的状态
* 语法: 元素:状态{}
* 如: <a>
* 状态:
* link:初始化的状态
* hover:鼠标悬浮状态
* active:正在访问状态
* visited:被访问过的状态
6. 属性
(1)字体、文本
* font-size:字体大小
* color:文本颜色
* text-align:对其方式
* line-height:行高
(2)背景
* background:
(3)边框
* border:设置边框,符合属性
(4)尺寸
* width:宽度
* height:高度
(5)盒子模型:控制布局
* margin:外边距
* padding:内边距
* 默认情况下内边距会影响整个盒子的大小
* box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小
* float:浮动
* left
* right
最后附上一个贪玩蓝月界面的小案例,成品页面在最下方,其中图片素材是博主本地图片,大家可以自行从网上下载图片(动图也可以),然后修改代码中的路径:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>用户注册界面</title> <style> *{ margin: 0px; padding: 0px; box-sizing: border-box; } body{ background: url("../img/tanwan.png") no-repeat center; } .div_deceng{ background: url("../img/deceng.jpg"); width: 640px; height: 240px; border: 8px solid #EEEEEE; margin: auto; /*让div水平居中*/ margin-top: 265px; } .div_left{ margin: 15px; float: left; } .div_left > p:first-child{ /* div_left 下 p 标签中第一个内容 */ color: orange; font-size: 13px; } .div_left > p:last-child{ /* div_left 下 p 标签中最后一个内容 */ color: darkgray; font-size: 8px; } .div_center{ margin-left: 5px; float:left ; } .div_right{ font-size: 13px; margin: 5px; float: left; } .td_left{ color: white; width: 120px; text-align: right; height: 25px; } .td_right{ color: white; padding-left: 20px ; } #username,#password,#email,#name,#tel,#birthday{ width: 180px; height: 20px; border: 1px solid darkgray; border-radius: 5px; /* 圆角5°*/ padding-left: 13px; } #yzm{ width: 120px; height: 20px; border: 1px solid darkgray; border-radius: 5px; /* 圆角5°*/ padding-left: 10px; } #img_check{ height: 20px; vertical-align: middle; } a:link{ color: hotpink; } .div_dongtu1{ background: url("../img/动图.gif") ; width: 640px; height: 150px; margin-top: 95px; } .div_dongtu2{ background: url("../img/动图2.gif"); float: right; width: 640px; height: 150px; margin-top: -150px; margin-left: -500px; } </style></head><body><div class="div_deceng"><div class="div_left"> <p>新用户注册</p> <p>USER REGISTER</p></div><div class="div_center"> <form> <table align="center" width="380"> <tr> <td class="td_left"> <label for="username">用户名</label> </td> <td class="td_right"> <input type="text" name="username" id="username" placeholder="请输入账号"> </td> </tr> <tr> <td class="td_left"> <label for="password">密码</label> </td> <td class="td_right"> <input type="password" name="password" id="password" placeholder="请输入密码"> </td> </tr> <tr> <td class="td_left"> <label for="email">Email</label> </td> <td class="td_right"> <input type="text" name="Email" id="email" placeholder="请输入邮箱"> </td> </tr> <tr> <td class="td_left"> <label for="tel">手机号</label> </td> <td class="td_right"> <input type="text" name="tel" id="tel" placeholder="请输入手机号"> </td> </tr> <tr> <td class="td_left">性别</td> <td class="td_right"> <input type="radio" name="gender" value="man"> 男 <input type="radio" name="gender" value="woman"> 女 </td> </tr> <tr> <td class="td_left">职业</td> <td class="td_right"> <input type="checkbox" name="print" value="1"> 战士 <input type="checkbox" name="computer" value="2"> 法师 <input type="checkbox" name="english" value="3"> 道士 </td> </tr> <tr> <td class="td_left"><label for="yzm">验证码</label></td> <td class="td_right"> <input type="text" name="yzm" id="yzm" placeholder="请输入验证码"> <img src="../img/verify_code.jpg" id="img_check"> </td> </tr> <tr> <td colspan="2" align="center" id=""> <input type="image" src="../img/regbtn.jpg"> </td> </tr> </table> </form></div><div class="div_right" > <p><font color="#ff4500">已有账号?</font> <a href="#">立即登陆</a></p></div></div><div class="div_dongtu1"></div><div class="div_dongtu2"></div> </body></html> 代码运行结果如下:
原文地址:https://www.cnblogs.com/fcCoder666/p/11055019.html