zoukankan      html  css  js  c++  java
  • CSS

    CSS

    引入方式

    • 行内式

      <p style="color: red">这是行内样式</p>
      
    • 内部样式

      在head标签里写选择器

      <!DOCTYPE html>
      <html>
          <head>
              <title></title>
              <style>
              	p{
                  	color: red;
                  }
              </style>
          </head>
          <body>
              <p>这是内部样式</p>
          </body>
      </html>
      
    • 外部引入

      使用标签引入外部css文件

      <link rel="stylesheet" href="css/head.css" />
      

    选择器

    基本选择器
    • 元素选择器

      p{
      	color: red;
      }
      
    • id选择器

      #head{
          color: red;
      }
      
    • 类选择器

      .cl{
          color: red;
      }
      
    组合选择器
    • 后代选择器(以空格分隔)

      选取某元素的后代元素

      li标签中的a标签
      li a{
          color: red;
      }
      
    • 子元素选择器(以大于号分隔)

      相比于后代选择器,子元素选择器只能选择作为某元素子元素的元素

      div>p{
        background-color:yellow;
      }
      
    • 兄弟选择器(以~分隔)

      选取所有指定元素之后的相邻兄弟元素

      div~p{
        background-color:yellow;
      }
      
    • 毗邻兄弟选择器(以加号分隔)

      选择紧接在另一元素后的元素,且二者有相同父元素

      div+p{
        background-color:yellow;
      }
      
    属性选择器

    选择具有特定属性的HTML元素样式。

    p[name]{
        color: red;
    }
    
    分组和嵌套选择器
    • 分组选择器

      在样式表中有很多具有相同样式的元素,为了尽量减少代码,你可以使用分组选择器(以逗号分隔)

      h1, h2, p{
          color:red;
      }
      
    • 嵌套选择器

      多种选择器混合起来使用

      div>li, .title{
      	color: red;
      }
      
    伪类选择器
    • anchor伪类选择器

      a:link{
          color: black;    /*未访问的时候*/
      }
      a:visited{
          color: black;    /*已访问的时候*/
      }
      a:hover{
          color: red;    /*鼠标悬停的时候*/
      }
      a:active{
          color: green;    /*已选中的时候*/
      }
      
    • first-child与last-child伪类选择器

      div p:first-child{
          color: red;    /*父元素下的第一个子元素*/
      }
      div p:last-child{
          color: blue;   /*父元素下的最后一个子元素*/
      }
      
    伪元素选择器

    用来添加一些选择器的特殊效果

    • first-line:向文本的首行设置样式

      p:first-line{
          color: red;
      }
      
    • first-letter:向文本的首字设置样式

      p:first-letter{
          color: red;
          font-size: 36px;
      }
      
    • before:在元素前插入内容

      p:before{
          content: "这是插入的内容!"
      }
      
    • after:在元素后面插入内容

      p:after{
          content: "这是插入的内容!"
      }
      

    选择器的优先级

    每个选择器在权重级别中都有自己泾渭分明的位置。根据选择器种类的不同可以分为四类,也决定了四种不同等级的权重值。

    1. 行内样式(权重值:1000)

      <p style="color: red;">这是行内式</p>
      
    2. id选择器(权重值:100)

      <style>
          #head{
              color: red;
          }
      </style>
      
    3. 类选择器(权重值:10)

      <style>
          .cl{
              color: red;
          }
      </style>
      
    4. 元素选择器(权重值:1)

      <style>
          p{
              color: red;
          }
      </style>
      

    CSS常用属性

    • 宽与高

      • width:宽度(块级标签才能设置宽度,内联标签的宽度由内容来决定)
      • height:高度
    • 文字属性

      • 字体:font-family

        body{ 
            font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif 
        }
        

        可以将多个字体名称作为一个“回退”系统来保存,如果浏览器不支持第一个字体,则会尝试下一个

      • 文字大小:font-size

        p{ 
            font-size: 14px; 
        }
        
      • 文字粗细:font-weight

        p{
            font-weight: bold;
        }
        
        描述
        normal 标准粗细
        bold 粗体
        bolder 更粗
        lighter 更细
        100~900 设置具体粗细,400等同于normal,而700等同于bold
        inherit 继承父元素字体的粗细值,默认值
      • 文字颜色:color

        p{
            color: red;
        }
        
        • 十六进制值:#808080
        • rgb值:RGB(255,0,0)
        • rgba值:rgba(255,0,0,0.5) 第四个值为alpha,指定色彩的不透明度,1:不透明,0:透明
        • 颜色的名称:red
      • 文字对齐:text-align

        div{
        	text-align: center;
        }
        
        描述
        left 左边对齐 默认值
        right 右对齐
        center 居中对齐
        justify 两端对齐
      • 文字装饰:text-decoration

        p{
            text-decoration: underline;
        }
        
        描述
        none 默认。定义标准的文本。
        underline 定义文本下的一条线。
        overline 定义文本上的一条线。
        line-through 定义穿过文本下的一条线。
        inherit 继承父元素的text-decoration属性的值。
      • 首行缩进:text-indent

        p{
            text-indent: 2em;    /*首行缩进两个字*/
        }
        
      • 字间距:letter-spacing

        p {
        	letter-spacing: 5px;
        }
        
    • 背景

      • 背景颜色:background-color

        div{
             200px;
            height: 200px;
            background-color: red;
        }
        
      • 背景图片

        div{
             200px;
            height: 200px;
            background-image: url("1.jpg") no-repeat;    /*最后一个设置平铺与不平铺*/
            /*
            	repeat: 平铺(平铺:背景图片填满整个屏幕)
            	repeat-x:向水平方向平铺
            	repeat-y:向垂直方向平铺
            	no-repeate:不平铺
            */
        }
        
    • 边框:border

      div{
          border: 1px solid red;  /*第一个参数:边框粗细,第二个参数:边框样式,第三个参数:边框颜色*/
      }
      

      边框样式

      描述
      none 无边框。
      dotted 点状虚线边框。
      dashed 矩形虚线边框。
      solid 实线边框。

      同时还可以设置四个边框的样式:

      • border-top
      • border-left
      • border-right
      • border-bottom
    • 圆角:border-radius

      div{
           180px;
          height: 50px; 
          border: 1px solid red; 
          border-radius: 10px;
          /*
          一个参数:设置四个角的圆角
          两个参数:
          	第一个参数:左上,右下
          	第二个参数:右上,左下
          三个参数:
          	第一个参数:左上
          	第二个参数:右上,左下
          	第三个参数:右下
          四个参数:左上,右上,右下,左下
          */
      }
      
    • display属性

      控制HTML元素的显示效果

      意义
      display:"none" HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
      display:"block" 默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
      display:"inline" 按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float属性都不会有什么影响。
      display:"inline-block" 使元素同时具有行内元素和块级元素的特点。

      display:none与visibility:hidden的区别:

      visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。

      display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。

    • 外边距:margin

      div{
          margin: 10px;
          /*
          一个参数:四个边
          两个参数:上下,左右
          三个参数:上,左右,下
          四个参数:上,右,下,左
          */
      }
      

      也可以四边单独设置

      • margin-top
      • margin-left
      • margin-right
      • margin-bottom
    • 内填充:padding

      div{
          padding: 10px;
          /*
          一个参数:四个边
          两个参数:上下,左右
          三个参数:上,左右,下
          四个参数:上,右,下,左
          */
      }
      

      也可以四边单独设置

      • padding-top
      • padding-left
      • padding-right
      • padding-bottom
    • 浮动:float

      脱离文档流向左浮动或向右浮动

      div{
           200px;
          height: 200px;
          float: left;
          border: 1px solid red;
      }
      
      描述
      left 向左浮动元素。
      right 向右浮动元素。
      none 不允许浮动元素。

      但是浮动有一个问题就是会脱离文档流使父级标签塌陷

      <!DOCTYPE html>
      <html>
      	<head>
      		<meta charset="UTF-8">
      		<title></title>
      		<style type="text/css">
      			.a{
      				border: 1px solid black;
      				 800px;
      			}
      			.b{
      				 200px;
      				height: 200px;
      				background-color: red;
      				float: left;
      			}
      			.c{
      				 200px;
      				height: 200px;
      				background-color: green;
      				float: right;
      			}
      		</style>
      	</head>
      	<body>
      		<div class="a">
      			<div class="b"></div>
      			<div class="c"></div>
      		</div>
      	</body>
      </html>
      

      为了解决这个问题可以使用clert来修复这个bug

      <!DOCTYPE html>
      <html>
      	<head>
      		<meta charset="UTF-8">
      		<title></title>
      		<style type="text/css">
      			.a{
      				border: 1px solid black;
      				 800px;
      			}
      			.b{
      				 200px;
      				height: 200px;
      				background-color: red;
      				float: left;
      			}
      			.c{
      				 200px;
      				height: 200px;
      				background-color: green;
      				float: right;
      			}
                  .clearfix{
                      clear: both;
                  }
      		</style>
      	</head>
      	<body>
      		<div class="a">
      			<div class="b"></div>
      			<div class="c"></div>
                  <div class="clearfix"></div>
      		</div>
      	</body>
      </html>
      

      clear属性

      描述
      left 在左侧不允许浮动元素。
      right 在右侧不允许浮动元素。
      both 在左右两侧均不允许浮动元素。
      none 默认值。允许浮动元素出现在两侧。
      inherit 规定应该从父元素继承 clear 属性的值。
    • 溢出:overflow

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

      描述
      static 默认值。无定位。
      relative(相对定位) 相对于未改变位置之前的位置,随父级标签移动,不脱离文档流。
      absolute(绝对定位) 相对于未改变位置之前的最近定位,不随父级标签移动,脱离文档流。
      fixed 相对于未改变位置之前的绝对与屏幕的位置,不随父级标签移动,脱离文档流
    • 层级:z-index

      设置对象的层叠顺序。层级越大显示越前,层级越小显示越后

    • 不透明度:opacity

      整体的透明度,整体的所有内容都会随不透明度的改变而改变。

  • 相关阅读:
    [css layout][23]Two columns liquid, side fixed
    [css layout][22]Liquid, three columns, hybrid widths
    [css layout][21]Liquid, three columns, hybrid widths
    [css layout][20]Liquid, three columns, hybrid widths
    [css layout][19]Liquid, three columns, hybrid widths
    javascript canvas transform
    [css layout][18]Liquid, secondary columns fixed-width
    chrome javascript Uncaught SecurityError: An attempt was made to break through the security policy of the user agent
    [css layout][17]Liquid, secondary columns fixed-width
    [css layout][16]Liquid, secondary columns fixed-width
  • 原文地址:https://www.cnblogs.com/Gredae/p/11724049.html
Copyright © 2011-2022 走看看