CSS的简单学习

CSS

概念以及优点

  1. 概念: Cascading Style Sheets 层叠样式表

    • 层叠:多个样式可以作用在同一个html的元素上,同时生效
  2. 优点

    1. 功能强大
    2. 将内容展示和样式控制分离
      • 降低耦合度。解耦
      • 让分工协作更容易
      • 提高开发效率

CSS与HTML的结合方式

内联样式(不推荐使用)

  1. 内联样式(没有解耦合)

    • 在标签内使用style属性指定css代码

      • 如:

      • <div style="color:red;">hello css</div>
        

内部样式

  1. 内部样式

    • 在head标签内,定义style标签,style标签的标签体内容就是css代码

    • 如:

      • <style>
        		        div{
        		            color:blue;
        		        }
        		
        		    </style>
        			<div>hello css</div>
        

外部样式

  1. 外部样式

    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,2,3种方式 css 作用范围 越来越大

      • 1方式 不常用,后期常用2,3

      • 第三种格式可以写为:

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

CSS基本语法

  1. css语法

    • 格式

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

选择器

  • 选择器:筛选具有相似特征的元素
  • 注意
    • 每一对属性需要使用;隔开,最后一对属性可以不加;

基础选择器

  1. 基础选择器

    • id选择器:选择具体的id属性值的元素.建议在一个html页面中id值 唯一

      • 语法:#id属性值{}
    • 元素选择器:选择具有相同标签名称的元素

      • 语法: 标签名称{}
      • 注意:id选择器 优先级高于元素选择器
    • 类选择器:选择具有相同的class属性值的元素。

      • 语法:.class属性值{}
      • 注意:类选择器 优先级高于元素选择器
    • 例如:

      • <style>
        .cls1{
                
            color: blue;
            }
         
            div{
                color:green;
            }
            #div1{
                color: red;
            }
         
        </style>
        </head>
        <body>
        
            <div id="div1">mikevane</div>
            <div class="cls1">mike</div>
        
            <p class="cls1">mikevane</p>
                 
        </body>
        

扩展选择器

  1. 扩展选择器

    • 选择所有元素:
      • 语法: -{}
  2. 并集选择器

    • 选择器1,选择器2{}
  3. 子选择器:筛选选择器1元素下的选择器2元素(选择器1下的选择器2)

    • 语法: 选择器1 选择器2{}

      • div p{
                    color:red;
                }
        
  4. 父选择器:筛选选择器2的父元素选择器1(选择器2上的选择器1)

    • 语法: 选择器1 > 选择器2{}

      • div > p {
                    border: 1px solid;
                }
        
  5. 属性选择器:选择元素名称,属性名=属性值的元素

    • 语法: 元素名称[属性名=“属性值”]{}

      • input[type='text']{
                   border: 5px solid;
               }
        
  6. 伪类选择器:选择一些元素具有的状态

    • 语法: 元素:状态{}

    • 如:<a>

    • 状态:

      • link:初始化的状态
        • visited:被访问过的状态
        • active:正在访问状态
        • hover:鼠标悬浮状态
    • 代码

      • a:link{
         	              color: pink;
         	          }
         	  
         	          a:hover{
         	              color: green;
         	          }
         	  
         	          a:active{
         	              color: yellow;
         	          }
         	  
         	          a:visited{
         	              color: red;
         	          }
        

属性

  1. 字体、文本

    • font-size:字体大小
    • color:文本颜色
    • text-align:对齐方式
    • line-height:行高
  2. 背景

    • background:复合属性。设置对象的背景特征
  3. 边框

    • border:设置边框,复合属性
  4. 尺寸

    • width:宽度
    • height:高度
  5. 代码

    • <style>
              p{
                  color: #FF0000;
                  font-size: 30px;
                  text-align: center;
                  line-height: 200px;
                  /-
                      border 边框
                   -/
                  border: 1px solid red;
      
              }
              div{
                  border: 1px solid red;
                  /-
                      尺寸
                   -/
                  height: 200px;
                  width: 200px;
                  /-
                      背景
                   -/
                  background: url("img/logo.jpg") no-repeat center;
              }
          </style>
      
  6. 盒子模型:控制布局

    • 盒子的外边距与内边距是相对而言的,在 当前盒子 的内部为内边距,外部则为外边距

    • 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/register_bg.png") no-repeat center;
              padding-top: 25px;
          }
      
          .rg_layout{
              width: 900px;
              height: 500px;
              border: 8px solid #EEEEEE;
              background-color: white;
              /-让div水平居中-/
              margin: auto;
          }
      
          .rg_left{
              /-border: 1px solid red;-/
              float: left;
              margin: 15px;
          }
          .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;
          }
      
          .rg_right > p:first-child{
              font-size: 15px;
      
          }
          .rg_right p a {
              color:pink;
          }
      
          .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 ;
          }
      
      </style>
      
      </head>
      <body>
      
      <div class="rg_layout">
          <div class="rg_left">
              <p>新用户注册</p>
              <p>USER REGISTER</p>
      
          </div>
      
          <div class="rg_center">
              <div class="rg_form">
                  <!**定义表单 form**>
                  <form action="#" method="post">
                      <table>
                          <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="email" name="email" id="email" placeholder="请输入邮箱"></td>
                          </tr>
      
                          <tr>
                              <td class="td_left"><label for="name">姓名</label></td>
                              <td class="td_right"><input type="text" name="name" id="name" 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"><label>性别</label></td>
                              <td class="td_right">
                                  <input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"></td>
                          </tr>
      
                          <tr>
                              <td class="td_left"><label for="birthday">出生日期</label></td>
                              <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期"></td>
                          </tr>
      
                          <tr>
                              <td class="td_left"><label for="checkcode" >验证码</label></td>
                              <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">
                                  <img id="img_check" src="img/verify_code.jpg">
                              </td>
                          </tr>
      
      
                          <tr>
                              <td colspan="2" align="center"><input type="submit" id="btn_sub" value="注册"></td>
                          </tr>
                      </table>
      
                  </form>
      
      
              </div>
      
          </div>
      
          <div class="rg_right">
              <p>已有账号?<a href="#">立即登录</a></p>
          </div>
      
      
      </div>
      
      
      </body>
      </html>
      

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MikeVane-bb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值