CSS

  • HTML创造世界,CSS让世界更美丽

①:CSS与HTML结合方式

  • 三种样式表优先级服从 就近原则

1.内联样式

  • <h1 style="color: #b3d4fc;">i like you</h1>
    

2.内部样式表

  • <style>
      h2{
      color: aqua;
       <!-- 属性:属性值; -->
      }
    </style>
    

3.外部样式表

  • 外部单独的css文件。

  • <!--在<head>中使用<link>引入外部的css文件 -->
    <link href="css/task01.css" rel="stylesheet">
    <!--使用此方式,会先加载样式表(直接看到修饰后的页面)-->
    
  • <!--在<style>便签导入 -->
    <style>
      @import "css/task01.css";
    </style>
    <!--
    使用此方式,会先加载html再加载css,网不好时会先看到未使用css的页面
    不支持js动态修改,link支持
    -->
    

②:CSS的使用

1.选择器

1.元素选择器

  • 对页面相同标签的统一描述。

2.类选择器与D选择器

  • 使用class修饰;使用.来描述

  • 使用id修饰;#描述。更具唯一性

 <style> 
  .h31{}
  #h32{}
</style>
	……
  <h3 class="h31">i like you</h3>
  <h3 id="h32">i like you too</h3>

3.选择器组(,)

<style>
  .h31,#h32{ color: #b3d4fc}  
</style>

4.派生选择器

  • 子代选择:空格隔开(只选子代)
  • 后代选择器:>隔开(全选)
 div p{color: #b3d4fc} <!--忽略层级--> 
 div>p{color: #b3d4fc} /* 只选取一级 */

5.css中的伪类

  • css中伪类可以对选择器加一些效果

    • :link 未被访问
    • :visited 已被访问
    • :hover 鼠标悬浮时添加样式
    • :active 鼠标选中时
    • :first-child 向元素的第一个子元素添加样式
  • 超链接中要遵循LVHA(爱恨原则)顺序。

    <style> 
    a:link{color: aqua} /*未被访问*/
    a:visited{color: blueviolet}/*已被访问*/
    a:hover{font-size: 20px}/*鼠标悬浮时添加样式*/
    a:active{font-size: 50px}/*鼠标选中时*/
    </style> 
    

CSS

2.CSS中的基本属性

1.文本属性

<style>
  p {
    font-family: "隶书"; /*指定字体*/
    font-size: 2em; /*字体大小*/
    font-weight: bold; /*字体加粗*/
    color: #b3d4fc; /*文本颜色*/
    text-align: center; /*文本排列: left/right/center*/
    text-decoration: underline; /*文字修饰 下划线*/
    line-height: 50px; /*行高*/
   	text-indent : value (2em); /*首行文本缩进 这里未用上*/
  }
</style> ……
<p>i like you 你好</p>

CSS

2.背景属性

<style>
  div{
    width: 100%;
    height: 800px;
    background-color: pink;
    background-image: url("../imgs/zoe.jpg");/*背景图*/
    background-repeat:no-repeat;/*设置平铺方式(x or y)*/
    background-position: 0 200px;/*设置背景图像的起始位置*/
    background-attachment: fixed; /*设置背景图相较于页面固定*/
  }
</style>

CSS

3.列表属性

  • 无序列表(ul)可以标记特殊图型

  • 有序列表(ol)可以标记数字或字母

  • 可设置为图像

    <style>
    .u1{list-style-type: circle}/*设置无序项为圆形(none、square)*/
     /*设置有序列表项为大写字母(罗马大写:upper-roman)*/    
     .o1{list-style-type: upper-alpha}
     /*设为图像*/
     u3{list-style-image: url("../imgs/list-img-1.gif")}     
    </style>
    
    

CSS

4.边框属性(border)

<style>
  div {
    /*border: 10px red solid;/*实线*/
    border: 10px blue dashed; /*虚线*/
    /*border: 10px red none; /*无边框*/
   /*border-bottom: dashed #b3d4fc 10px; /*设置底边框的样式*/
   /* border-left: red solid; /*设置右边框的样式*/
      outline: red 2px solid;/*轮廓*/ 
  }
</style>

5.轮廓属性(outline)

6.盒子属性

CSS

3.CSS定位

1.默认定位

  • 块级元素:h、p、div等,自动换行(垂直排列)。可以设定宽高
  • 行内元素:a、b、span。不会换行(水平排列)。不可改变宽高
  • 行内块元素:input,img等,从左向右,水平排列(自动换行);可以改变宽高
    • 加:display: inline-block;可变为行内块元素

2.浮动定位(float)

  • 让元素“飞”起来,并可以消除“块级”的霸道属性(独占一行)
<style>
  .a{
    width: 100px;
    height: 100px;
    background: #b3d4fc;
   float: left;
    /*display: inline-block; 方式二:变成行内块元素消除独占一行属性*/
  }
  .b{
    width: 100px;
    height: 100px;
    background: pink;
    float:right;
    /*相对定位
    position: relative;
    right: 200px; 
    */
  }
</style>

![](https://img.imgdb.cn/item/600ce8423ffa7d37b3253413.jpg title="浮动")

3.相对定位(relative)

  • 和原来的位置进行比较,进行偏移

![](https://img.imgdb.cn/item/600ce8173ffa7d37b3252818.jpg title="相对定位")

4.绝对定位(absolute)

5.固定定位(fixed)

  • <style>
    	postion:fixed;/*固定于页面,不随页面滚动*/
    </style>
    
    

6.z-index

  • 定义重叠元素的优先级,要配合定位使用。

CSS

③:CSS3新特性

1.圆角与盒子阴影

  • border-radius:左上 右上 右下 左下;
  • box-shadow: 水平偏移、垂直偏移、模糊半径、扩张半径、颜色;
<style>
  div {
    width: 300px;
    height: 300px;
    background-color: pink;
    /* border-radius: 1px 20px 30px 50px;/*左上、右上、右下、左下(顺时针)*/
    border-radius: 50px; /*圆角*/
    /*盒子阴影:依次代表:水平偏移、垂直偏移、模糊半径、扩张半径、颜色*/
    box-shadow: 20px 20px 50px 10px gray;
  }
</style>

CSS

2.渐变属性

  • 线性渐变:background:linear-gradient([方向/角度],颜色列表);

  • 径向渐变:radial-gradient(颜色列表);

<style>
 /*线性渐变*/   
background: linear-gradient(red, yellow);
background: linear-gradient(to right bottom, black, white);
background: linear-gradient(30deg, black, white); /*角度*/
/*径向渐变*/      
background: radial-gradient(black, white);
border-radius: 50px;
background: radial-gradient(black, white);
</style>

CSS

4.背景

  • 背景的位置与大小

    • 位置:background-origin(border、padding、content)

    • 大小:background-size(cover完全覆盖、contain完全适应)

![](https://img.imgdb.cn/item/600d07233ffa7d37b33371ec.jpg title="大小使用的contain")

  • 背景的裁切
    • background-clip:(border-box 、padding-box、content-box)

CSS

4.过渡动画

  • 过渡:从一个状态到另一个状态的缓慢过程(中间不可控制)

    • transition{过渡的属性 完成时间 过度函数 开始时间}

    • <style>
        div{
          width: 200px;
          height: 50px;
          border: black solid 1px;
          transition:font-size 4s linear ,width 4s linear;
        }
        div:hover{width: 400px;font-size: 30px}
      </style>
      
      
    • ![](https://img.imgdb.cn/item/600d0d6c3ffa7d37b3367e55.gif title="效果图")

  • 动画:可控制每个时间。

    • 动画属性:animation{ 动画帧 , 执行时间 , 过渡函数 , 动画执行的延迟(可省略), 动画执行的次数 }

      <style>  
      .b{
            width: 200px;
            height: 100px;
            background: pink;
            animation: x 5s linear infinite alternate;/*动画属性*/
      
          }
          @keyframes x {/*动画帧*/
            0%{ margin-left: 0px;}
            25%{background-color: grey}
            50%{ background-color:red}
            75%{  background-color: black}
            100%{ margin-left: 600px}
          }
        </style>
      
      

      ![](https://img.imgdb.cn/item/600d19f33ffa7d37b33be69f.gif title="运行效果图")

CSS

上一篇:(五)Angularjs - 依赖注入


下一篇:html中的列表元素