CSS学习笔记

CSS学习笔记

1、什么是CSS

CSS 即层叠样式表 (Cascading Style Sheets)

2、CSS有什么用

样式表定义如何显示 HTML 元素,就像 HTML 中的字体标签和颜色属性所起的作用那样。样式通常保存在外部的 .css 文件中。我们只需要编辑一个简单的 CSS 文档就可以改变所有页面的布局和外观。

3、CSS的使用

  1. 语法

    CSS主要由两部分组成

    • 选择器:通常是需要改变样式的HTML元素
    • 声明:每条声明由一个属性和一个值组成,是设置自己想要的样式属性

img

p
{
color:red;
text-align:center;
}
  1. 选择器

    • id选择器:标有特定 id 的 HTML 元素指定特定的样式

      #para1
      {
          text-align:center;
          color:red;
      }
      
    • 类选择器:用于描述一组元素的样式,即可以对多个HTML元素指定特定的样式

      .center 
      {
          text-align:center;
      }
      
    • 组合选择

      • 后代选择器(以空格分隔)

        div p
        {
          background-color:yellow;
        }
        /*
        div标签中的内嵌的全部p标签都选上
        */
        
      • 子元素选择器(以大于号分隔)

        div>p
        {
          background-color:yellow;
        }
        /*
        只选择div的下一层的p标签,即子元素不包括孙以及后面的
        */
        
      • 相邻兄弟选择器(以加号分隔)

        div+p
        {
          background-color:yellow;
        }
        /*
        选择紧接在div元素后的p元素,且二者有相同父元素
        */
        
      • 普通兄弟选择器(以破折号分隔)

        div~p
        {
          background-color:yellow;
        }
        /*
        全部兄弟都选了
        */
        
  2. CSS的创建方式(优先级从上往下依次增大)

    • 外部样式表(External style sheet):引入外部文件

      <head>
      <link rel="stylesheet" type="text/css" href="mystyle.css">
      </head>
      
    • 内部样式表(Internal style sheet):在HTML文件内直接编写css代码

      <head>
      <style>
      hr {color:sienna;}
      p {margin-left:20px;}
      body {background-image:url("images/back40.gif");}
      </style>
      </head>
      
    • 内联样式(Inline style):直接在标签内部加上style属性设置样式

      <p style="color:sienna;margin-left:20px">这是一个段落。</p>
      
  3. CSS伪类

    CSS伪类是用来添加一些选择器的特殊效果

    /*使用伪类的格式*/
    selector:pseudo-class {property:value;}
    
    /*CSS类使用伪类的格式*/
    selector.class:pseudo-class {property:value;}
    
    /*anchor伪类 */
    a:link {color:#FF0000;} /* 未访问的链接 */
    a:visited {color:#00FF00;} /* 已访问的链接 */
    a:hover {color:#FF00FF;} /* 鼠标划过链接 */
    a:active {color:#0000FF;} /* 已选中的链接 */
    /*
    注意: 在CSS定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
    
    注意: 在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。
    
    注意:伪类的名称不区分大小写。
    */
    /*-----------------------------------------------------------------------*/
    
    /*伪类与 CSS 类的配合使用*/
    a.red:visited {color:#FF0000;}
    <a class="red" href="css-syntax.html">CSS 语法</a>
    

    常用的伪类选择器

    /*匹配第一个p元素*/
    p:first-child
    {
        color:blue;
    }
    /*匹配所有<p> 元素中的第一个 <i> 元素*/
    p > i:first-child
    {
        color:blue;
    }
    /*匹配所有作为第一个子元素的 <p> 元素中的所有 <i> 元素*/
    p:first-child i
    {
        color:blue;
    }
    
  4. 常用的声明(属性)

    • background

      /*背景颜色*/
      body {
          background-color:#b0c4de;
      }
      /*背景图像*/
      body {
          background-image:url('paper.gif');
      }
      /*背景图像 - 水平或垂直平铺*/
      body
      {
      background-image:url('gradient2.png');
      background-repeat:repeat-x;/*水平平铺 可以设置为no-repeat不平铺  repeat-y为垂直平铺*/
      }
      /*
      所有background的属性都可以写出background但有一个固定的顺序
      background-color
      background-image
      background-repeat
      background-attachment
      background-position
      */
      
    • 文本

      /*文本颜色*/
      body {color:red;}
      /*文本的对齐方式*/
      h1 {text-align:center;}
      p.date {text-align:right;}
      p.main {text-align:justify;}/*每一行被展开为宽度相等,左,右外边距是对齐*/
      /*文本修饰*/
      h1 {text-decoration:overline;}上划线
      h2 {text-decoration:line-through;}划线
      h3 {text-decoration:underline;}下划线
      /*文本转换*/
      p.uppercase {text-transform:uppercase;}全转大写
      p.lowercase {text-transform:lowercase;}全转小写
      p.capitalize {text-transform:capitalize;}首字母大写
      /*文本缩进*/
      p {text-indent:50px;}
      
    • 字体

      /*设置字体*/
      p{
          font-family:"Times New Roman", Times, serif;
      }
      /*字体样式*/
      p.normal {font-style:normal;}正常字体
      p.italic {font-style:italic;}斜体
      /*字体大小*/
      h1 {font-size:40px;}
      
    • 链接

      /*常用*/
      a:link {color:#000000;}      /* 未访问链接*/
      a:visited {color:#00FF00;}  /* 已访问链接 */
      a:hover {color:#FF00FF;}  /* 鼠标移动到链接上 */
      a:active {color:#0000FF;}  /* 鼠标点击时 */
      /*删除链接中的下划线*/
      a:link {text-decoration:none;}
      a:visited {text-decoration:none;}
      a:hover {text-decoration:underline;}
      a:active {text-decoration:underline;}
      /*背景颜色*/
      a:link {background-color:#B2FF99;}
      a:visited {background-color:#FFFF85;}
      a:hover {background-color:#FF704D;}
      a:active {background-color:#FF704D;}
      
    • 列表样式

      ul
      {
          list-style: square url("sqpurple.gif");
      }
      /*
      可以按顺序设置如下属性:
      
      list-style-type:指定列表项标记的类型是
      list-style-position :设置列表中列表项标志的位置(不常用,可以只使用前后两个)
      list-style-image:引入外部图片作标记
      */
      
    • 表格

      /*表格边框*/
      table, th, td
      {
          border: 1px solid black;
      }
      /*折叠边框*/
      table
      {
          border-collapse:collapse;
      }
      table,th, td
      {
          border: 1px solid black;
      }
      /*表格宽度和高度*/
      table 
      {
          width:100%;
      }
      th
      {
          height:50px;
      }
      /*表格文字对齐*/
      td
      {
          text-align:right;
      }
      /*表格填充*/
      td
      {
          padding:15px;
      }
      /*表格颜色*/
      table, td, th
      {
          border:1px solid green;
      }
      th
      {
          background-color:green;
          color:white;
      }
      
  5. 盒子模型
    在这里插入图片描述

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。
div {
    width: 300px;
    border: 25px solid green;
    padding: 25px;
    margin: 25px;
}
/*
border对应的属性有
	style:实闲、虚线、不要线
	width:线的宽度
	color:颜色
margin(padding)
	四个属性全填写:各边距的顺序上右下左
	三个属性填写:上左右下
	两个属性填写:上下左右
	一个属性:全是一样

*/

理解:

将一个html元素想象成一个盒子内的物品,物品有其外壳叫border,有内部结构叫content,内部结构和外壳的距离叫内边距padding,外壳和盒子的距离叫外边距margin

4、布局属性

  1. display

    区和块元素转换

    /*转换成内联元素(行)*/
    li {display:inline;}
    /*转换成块元素(多行)*/
    span {display:block;}
    
  2. position

    /*static定位,即默认的,正常观看的那样*/
    div.static {
        position: static;
        border: 3px solid #73AD21;
    }
    /*fiexd定位,元素的位置在浏览器固定*/
    p.pos_fixed
    {
        position:fixed;
        top:30px;
        right:5px;
    }
    /*relative 定位:相对于初始位置进行移位*/
    h2.pos_left
    {
        position:relative;
        left:-20px;
    }
    /*absolute 定位:相对于浏览器页面进行移位*/
    h2
    {
        position:absolute;
        left:100px;
        top:150px;
    }
    /*sticky 定位:类似于置顶*/
    div.sticky {
        position: -webkit-sticky; /* Safari */
        position: sticky;
        top: 0;
        background-color: green;
        border: 2px solid #4CAF50;
    }
    
  3. z-index属性可以定义元素的堆叠位置

    img
    {
        position:absolute;
        left:0px;
        top:0px;
        z-index:-1;
    }
    /*置于底层*/
    
  4. overflow

    描述
    visible默认值。内容不会被修剪,会呈现在元素框之外。
    hidden内容会被修剪,并且其余内容是不可见的。
    scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
    auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
    inherit规定应该从父元素继承 overflow 属性的值。
  5. float(浮动)

    CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。(往往用于图像)

    .thumbnail 
    {
        float:left;
        width:110px;
        height:90px;
        margin:5px;
    }
    /*
    * float有left和rigth属性,分别是左浮动和右浮动的意思
    * clear属性,可以清除浮动
    * 当有多个浮动元素放一起,它们会相邻
    */
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值