前端学习笔记(二)前端三剑客之CSS

it2024-03-15  61

什么是CSS

顾名思义,从css(cascading style sheets)的英文含义不难知晓其含义,css直译叫层叠式表,即多个样式可以作用正在同一个html的元素上,即同时生效。

css的优点

功能请打将内容展示和样式控制分离 降低耦合度,解耦。 让分工协作更容易。 提高开发效率。

css的基本语法

格式: 选择器 { 属性名1:属性值1; 属性名2:属性值2; … } 选择器:筛选具有相似特征的元素 注意: 每一对属性需要使用;隔开,最后一对属性可以不加;

选择器:筛选具有相似特征的元素

基础选择器

id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一 语法:#id属性值{}元素选择器:选择具有相同标签名称的元素 语法: 标签名称{} 注意:id选择器优先级高于元素选择器类选择器:选择具有相同的class属性值的元素。 语法:.class属性值{} 注意:类选择器选择器优先级高于元素选择器

扩展选择器:

选择所有元素: 语法: *{}并集选择器: 选择器1,选择器2{}子选择器:筛选选择器1元素下的选择器2元素 语法: 选择器1 选择器2{}父选择器:筛选选择器2的父元素选择器1 语法: 选择器1 > 选择器2{}属性选择器:选择元素名称,属性名=属性值的元素 语法: 元素名称[属性名=“属性值”]{}伪类选择器:选择一些元素具有的状态 语法: 元素:状态{} 如: <a> 状态: link:初始化的状态 visited:被访问过的状态 active:正在访问状态 hover:鼠标悬浮状态

属性

字体、文本 font-size:字体大小 color:文本颜色 text-align:对其方式 line-height:行高背景 background:边框 border:设置边框,符合属性尺寸 width:宽度 height:高度盒子模型:控制布局 margin:外边距 padding:内边距 默认情况下内边距会影响整个盒子 的大小 box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小 float:浮动 left right

CSS如何实现页面布局

内联样式 在标签内使用style属性指定CSS代码: <div style="color:red;">hello css</div> 内部样式 在head标签内,定义style标签,style标签的标签内容就是css代码。 <div style="color:red;">hello css</div> 外部样式 1.定义CSS资源文件。 2.在head标签内,定义link标签,引入外部的资源文件。 <style> div{ color:blue; } </style> <div>hello css</div>

外部样式

定义CSS资源文件在head标签内,定义link标签,引入外部的资源文件。 a.css文件: div{ color:green; }

当使用的时候只需要引入即可:

<link rel="stylesheet" href="css/a.css"> <div>hello css</div> <div>hello css</div>

notes:三中方式从上到下,css作用范围依次变大 内联样式用的很少,应用于项目的话最常用的2,3。 第三种格式可以写为:

<style> @import "css/a.css"; </style>

案例

使用css实现注册页面重写 样式代码

*{ margin: 0px; padding: 0px; box-sizing: border-box; } body{ background: url("../img/register_bg.png") no-repeat center; padding-top: 100px; } .rg{ width: 900px; height: 500px; border: 8px solid #EEEEEE; background-color: white; /*让div水平居中*/ margin: auto; } .rg_left{ border: 1px solid red; float: left; margin: 20px; /*padding: 20px;*/ } .rg_left > p:first-child{ color:#FFD026; font-size: 20px; } .rg_left > p:last-child{ color:#A6A6A6; font-size: 20px; } .rg_center{ float: left; border: 1px solid red; } .rg_right{ /*border: 1px solid red;*/ float: right; margin: 15px; border: 2px solid red; } .rg_right > p:first-child{ font-size: 15px; } .rg_right p a { color:red; } .td_left{ width: 100px; text-align: right; height: 45px; } .td_right{ padding-left: 50px ; } #username,#password,#email,#name,#tel,#birthday,#checkcode{ width: 251px; height: 32px; border: 1px solid #A6A6A6 ; /*设置边框圆角*/ border-radius: 5px; padding-left: 10px; } #checkcode{ width: 110px; } #img_check{ height: 32px; vertical-align: middle; } #btn_sub{ width: 150px; height: 40px; background-color: #FFD026; border: 1px solid #FFD026 ; }

页面代码

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册页面</title> </head> <body> <form action="#" method="post"> <table> <tr> <td><label for="username">用户名</label></td> <td><input type="text" name="username" id="username"></td> </tr> <tr> <td><label for="password">密码</label></td> <td><input type="text" name="password" id="password"></td> </tr> <tr> <td><label for="email">Email</label></td> <td><input type="email" name="email" id="email"></td> </tr> <tr> <td><label for="name">姓名</label></td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td><label for="tel">手机号</label></td> <td><input type="text" name="tel" id="tel"></td> </tr> <tr> <td><label>性别</label></td> <td> <input type="radio" name="gender" value="male"> 男 <input type="radio" name="gender" value="female"> 女 </td> </tr> <tr> <td><label for="birthday">出生日期</label></td> <td><input type="date" name="birthday" id="birthday"></td> </tr> <tr> <td><label for="checkcode">验证码</label></td> <td> <input type="text" name="checkcode" id="checkcode"> <img src="img/verify_code.jpg" alt="验证码"> </td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="注册"></td> </tr> </table> </form> </body> </html>
最新回复(0)