zoukankan      html  css  js  c++  java
  • CSS初识

    十、CSS初识

    10.1、css基本介绍

    1. css学习流程

      • 先学习如何查找标签
      • 在学习如何添加样式
    2. 定义:css(层叠样式表)就是给html标签添加样式的,让它变得更加好看

    3. 注释

      /*单行注释*/
      /*
      多行注释1
      多行注释2
      多行注释3
      */
      """
      通常我们在写css样式的时候夜壶用注释来划分样式区域(因为html代码多,对应的css代码也多,而且杂)
      """
      
    4. css的语法结构

      选择器 {
          属性1:值1;
          属性2:值2;
          属性3:值3;
      }
      
    5. css的三种引入机制

      # 1 style标签内部直接书写
      	<style>
          	h1 {
                  color: red;
              }
          </style>
          
      # 2 link标签引入外部css文件(最正规的方式,解耦合)
      	<link rel="stylesheet" href="mycss.css(css文件)">
          
      # 3 行内式(一般不用)
      	<h1 style="color: green;">老板好,我怀疑你在开车</h1>
      

    10.2、css选择器

    1. 基本选择器

      # 1.id选择器
      #d1 { /*找到id是d1的标签 将文本的颜色变成红色*/
      	color:red;
      }
      
      # 2.类选择器
      .c1 { /*找到class值里面的包含c1的标签 将文本颜色变成绿色*/
      	color:green;
      }
      
      # 3.元素(标签)选择器
      span { /*找到html中所有的spa标签  将文本颜色变成黄色*/
          color:yellow;
      }
      
      # 4.通用选择器
      * { /* 将整个html的标签文本颜色变成蓝色*/
          color:blue;
      }
      
    2. 组合选择器

      """
      在前端,我们将标签的嵌套用亲戚关系来表示层级
        <div>div
              <p>div p</p>
              <p>div p
                  <span>div p span</span>
              </p>
              <span>span</span>
              <span>span</span>
        </div>
      div里面的p span都是div的后代
      p是div的儿子
      p里面的span是p的儿子 是div的孙子
      div是p的父亲
      """
      # 1.后代选择器
      div span { /*将div标签里面所有的span标签的文本颜色变成红色*/
          color: red;
      }
      
      # 2.儿子选择器
      div>span { /*将div标签里面的第一层级的所有span标签的文本颜色变成绿色*/
          color: green;
      }
      
      # 3.毗邻选择器
      div+span { /*与div同级别紧挨着的下面的第一个(只取一个)span标签的文本颜色变成黄色*/
          color: yellow;
      }
      
      # 4.弟弟选择器
      div~span { /*与div同级别的下面的span标签的文本颜色变成蓝色*/
          color: blue;
      }
      
    3. 属性选择器

      # 1.含有某个属性
      [username] { /*将所有含有属性名是username的标签背景颜色变成红色*/
          background-color: red;
      }
      
      # 2.含有某个属性并且某个值
      [username="jason"] { /*找到所有属性名是username并且属性值是Jason的标签的背景颜色变成绿色*/
           background-color: green;
      }
      # 3.含有某个属性并且某个值的某个标签
      input[username="jason"] { /*找到所有属性名是username并且属性值是Jason的input标签的背景颜色变成蓝色*/
           background-color: blue
      }
      
    4. 分组与嵌套

      """
      选择器之间用逗号隔开,逗号表示并列关系
      """
      # 标签嵌套
      div,p,span { /*将html里同一级中所有的div、p、span标签的文本颜色变成黄色*/
          color: yellow;
      }
      
      # 选择器嵌套
      #d1,.c1,span { /*将html里同一级中所有的id值是d1,class值是c1的,和span标签的文本颜色变成红色*/
      	color: red;
      }
      
    5. 伪类选择器

      """
      鼠标对a标签的四种状态
      	未访问态:link
      		a:link {}
      	鼠标悬浮态:hover
      		a:hover {}
      	鼠标点击不松开,激活态:active
      		a:active {}
      	访问后的状态:visted
      		a:visted {}
      		
      其他
      	input框获取焦点(鼠标点了input框)
      		input:focus {}
      		
      注意:其他标签也可以使用伪类选择器,只是a标签用的比较多,需要记住的就是悬浮态的使用(hover)
      """
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <style>
              body {
                  background-color: black;
              }
              a:link {  /*访问之前的状态*/
                  color: red;
              }
              a:hover {  /*需要记住*/
                  color: aqua;  /*鼠标悬浮态*/
              }
              a:active {
                  color: black;  /*鼠标点击不松开的状态  激活态*/
              }
              a:visited {
                  color: darkgray;  /*访问之后的状态*/
              }
              p {
                  color: darkgray;
                  font-size: 48px;
              }
              p:hover {
                  color: white;
              }
              
              input:focus {  /*input框获取焦点(鼠标点了input框)*/
                  background-color: red;
              }
          </style>
      </head>
      <body>
      <a href="https://www.jd.com/">小轩在不在?</a>
      <p>点我有你好看哦</p>
      <input type="text">
      </body>
      </html>
      
    6. 伪元素选择器

      • 对p标签的第一个字符修改

        • p:first-letter {}
      • 在p标签的前面加上abc

        • p:before {content:’abc’}
      • 在p标签的后面加上abc

        • p:after {content:’abc’}
      • 注意:before和after通常是用来清除浮动带来的影响:父级标签的塌陷问题

      p:first-letter {
                  font-size: 48px;
                  color: orange;
              }
      p:before {  /*在文本开头 同css添加内容*/
                  content: '你说的对';
                  color: blue;
              }
      p:after {
                  content: '雨露均沾';
                  color: orange;
              }
      
    7. 选择器优先级(id选择器、类选择器、标签选择器、行内式)

      • 选择器相同:就近原则,谁离标签近就是用谁的样式(和变量的差不多)

      • 选择器不同:精确度越高就越有效

        • 行内>id选择器>类选择器>标签选择器

    10.3、css属性操作

    注意:①、只有块级标签有长宽,行内标签设置了长宽也不会生效

    ​ ②、有相同的前缀的属性值可以写在一起,且不分先后

    1. 字体属性

      """
      1.font-family:文字样式
      2.font-size:字体大小
      3.font-weight:字重
      	inherit:继承父标签样式
      	bolder:加粗
      	ligther:加细
      4.color:文字颜色
      	color:red 
      	color:#eeeeee
      	color:rbg(127,127,127)
      	color:rgba(127,127,127,0.5) 第四个参数是透明度,范围0~1
      """
      
      p{
          font-family : '字体选择'
          font-size : 24px '文字大小'
          font-weight :inherit'继承父标签样式'或者 bolder'加粗'或者 lighter'变细'
          color:red 
          color:#ee762e
          color:rgb(127,234,234)
          color:rgba(127,234,234,0.5) # 第四个参数是透明度0-1 
      }
      
    2. 文字属性

      """
      1.text-align:设置文本位置
      	center:居中
      	right:左对齐
      	left:右对齐
      	justify:两端对齐
      2.text-decoration:文本装饰
      	none:默认,什么样式都没有
      	underline:下划线
      	overline:上划线
      	line-through:删除线
      3.text-indent:2em 首行空两格
      """
      
      p{
          text-align:center('居中')/right/left/justify('两端对齐')
          
          text-decoration:underline('下划线')/overline('上划线')/line-through('删除线')/none
          
          text-indent:2em #首行空两格
          
      }
      

      注意:text-decoration常用来消除a标签自带的下划线

      a {
          text-decoration:none;
      }
      
    3. 背景属性

      """
      1.background-color:背景色
      2.background-img:url(''):背景图片
      3.background-position:背景位置
      	background-position:100px 100px:第一个调借左右,第二个调节上下
      4.background-repeat:背景平铺
      	repeat:默认,背景图片平铺整个网页
      	repeat-x:背景图片只在水平方向上平铺
      	repeat-y:背景图片只在竖直方向上平铺
      	no-repeat:背景图片不平铺
      5.background-attachment:固定背景图片
      	background-attachment:fixed;
      """
      
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>滚动背景图示例</title>
          <style>
              * {
                  margin: 0;
              }
              .box {
                   100%;
                  height: 500px;
                  background: url("http://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=e9952f4a6f09c93d07a706f3aa0dd4ea/4a36acaf2edda3cc5c5bdd6409e93901213f9232.jpg")  center center;
                  background-attachment: fixed;
              }
              .d1 {
                  height: 500px;
                  background-color: tomato;
              }
              .d2 {
                  height: 500px;
                  background-color: steelblue;
              }
              .d3 {
                  height: 500px;
                  background-color: mediumorchid;
              }
          </style>
      </head>
      <body>
          <div class="d1"></div>
          <div class="box"></div>
          <div class="d2"></div>
          <div class="d3"></div>
      </body>
      </html>
      
    4. 边框属性

      """
      1.边框属性(宽度、样式、颜色)
      	bodeer-width
      	boder-style
      	boder-color
      2.边框宽度 boder-width
      3.边框样式 boder-style
      	none:无边框
      	dotter:点状虚线框
      	dashed:矩形虚线框
      	soli:实线框
      4.边框颜色 boder-color
      """
      
      # 边框设置为圆形
      div {
          height:200px;
          200px;
          boder-raduis:50%;
          background-color:red;
          background-repeat:no-repeat;
      }
      
      # 圆形头像展示
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <style>
              body {
                  margin: 0;
                  background-color: antiquewhite;
              }
              .c1 {
                  height: 100px;
                   100px;
                  border-radius: 50%;
                  border: 5px solid white;
                  overflow: hidden;
              }
              img {
                  max- 100%;
              }
          </style>
      </head>
      <body>
      <div class="c1">
          <img src="111.png" alt="">
      </div>
      </body>
      </html>
      
    5. display属性

      """
      display:none  html文档元素存在,但是在浏览器中不显示。一般配合JavaScript代码使用
      display:block  将行内标签设置成块级标签
      display:inline  将块级标签设置成行内标签
      display:inline-block  使元素同时具有块级和行内标签的特点
      """  
      
    6. 盒子模型

      image-20200815214955006

      """
      margin:用于空值元素与元素之间的距离;margin的最基本用途就是用来控制元素周围的空间间隔,从视觉角度上达到相互隔离的状态
      border:围绕在内边距和内容外的边框
      padding:用于控制内容与边框的距离
      content:盒子里的内容,显示文本和图像
      
      顺序(margin padding):
      10px:上下左右
      	10px 20px:上下10px 左右20px
      	10px 20px 30px:上10px 左右20px 下30px
      	10px 20px 30px 40px:上10px 右20px 下30px 左40px
      """
      
    7. float浮动

      • 浮动的方法

        float:left # 向左浮动
        float:right # 向右浮动
        float:none # 默认值,不浮动
        
      • clear清除浮动

        clear:left # 在左侧不允许存在浮动元素
        clear:right # 在右侧不允许存在浮动元素
        clear:both # 在左右两侧不允许存在浮动元素
        clear:none # 默认值,允许浮动元素出现在左右两侧
        clear:inherit # 规定应该从父级元素继承clear属性的值
        
      • 清除浮动

        """
        清除浮动的副作用(父级标签塌陷问题)
        解决方法
        	固定高度
        	伪元素清除法(使用较多)
        	overflow:hidder
        """
        .clearfix:after {
            content:"";
            display:block;
            clear:both;    
        }
        
    8. overflow溢出属性

      """
      overflow:visible # 默认值,内容不会被修剪,溢出的元素会显示在元素框外边
      overflow:hidden # 内容会被修剪,并且其余内容是不可见的
      overflow:scroll # 内容会被修剪,当时浏览器会显示滚动条一遍查看溢出内容
      overflow:auto # 如果内容被修剪,则浏览器会显示滚动条以便查看溢出内容
      overflow:inherit # 规定应该从父级元素标签overflow属性的值
      """
      
      .c1 {
                  height: 100px;
                   100px;
                  border: 1px solid black;
                  overflow: auto;
              }
      
    9. 定位

      """
      static:静态的,不能改变元素位置,标签默认是静态的,不能移动位置
      relative:相对定位,不会脱离文档流。
      absolute:绝对定位,脱离文档流,相对于定位过的父级标签做偏移
      fixed:固定定位,脱离文档流,相对于浏览器窗口在某个位置固定下来
      """
      position:relative
      position:absolute
      position:fixed
      
    10. z-index模态框

      • z-index值表示谁压着谁,数值大的盖住数值小的

      • 只有定位了的元素,才有z-index,也就是说,不管是相对定位、绝对定位、固定定位,都可以使用z-index,而浮动元素不能使用z-index

      • z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素

      • 从父现象:父亲怂了,儿子再他妈牛逼也没用

        #d1 {
          z-index: 999;
        }
        #d2 {
          z-index: 1000;
        }
        
        结果:优先展示d2的
        
    11. 透明度

      用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明

      .c1 {
          background-color:rgb(127,127,127);
          opactity:0.5;
      }
      

    10.4、博客园搭建

    • html代码

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>博客园</title>
          <link rel="stylesheet" href="mycss.css">
      </head>
      <body>
          <div class="blog-left">
              <div class="blog-arnvar">
                  <img src="邓紫棋.png" alt="">
              </div>
              <div class="blog-name">
                  <div>老司机的博客园</div>
              </div>
              <div class="blog-info">
                  <div>车速太快,什么都没有留下!</div>
              </div>
              <div class="blog-link">
                  <ul>
                      <li><a href="">关于我</a></li>
                      <li><a href="">微博</a></li>
                      <li><a href="">微信公众号</a></li>
                  </ul>
              </div>
              <div class="blog-tag">
                  <ul>
                      <li><a href="">#Python</a></li>
                      <li><a href="">#Java</a></li>
                      <li><a href="">#Golang</a></li>
                  </ul>
              </div>
          </div>
          <div class="blog-right">
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
              <div class="article">
                  <div class="article-title">
                      <span class="title">重金求子</span>
                      <span class="date">2020-8-16</span>
                  </div>
                  <div class="article-content">重金求子,事成之后500万答谢并赠送一套大别墅</div>
                  <hr>
                  <div class="article-botton">
                      <span>#Pythonn</span>
                      &nbsp;&nbsp;
                      <span>#JavaScript</span>
                  </div>
              </div>
          </div>
      </body>
      </html>
      
    • css配饰样式

      /*这是博客园的增叠样式表*/
      
      /*通用设置*/
      body {
          margin: 0;
          background-color: #eeeeee;
      }
      a {
          text-decoration: none;
      }
      ul {
          list-style-type: none;
          padding: 0;
      }
      /*左侧设置*/
      .blog-left {
          background-color: #4e4e4e;
           20%;
          height: 100%;
          position: fixed;
          float: left;
      }
      .blog-arnvar {
           200px;
          height: 200px;
          border: 5px solid white;
          border-radius: 50%;
          margin: 20px auto;
          overflow: hidden;
      }
      img {
          max- 100%;
      }
      .blog-name {
          font-size: 20px;
          color: darkgray;
          text-align: center;
      }
      .blog-info {
          font-size: 18px;
          color: darkgray;
          text-align: center;
          padding-top: 20px;
      }
      .blog-link,.blog-tag {
          text-align: center;
          margin-top: 70px;
      }
      .blog-link a,.blog-tag a {
          font-size: 24px;
          color: darkgray;
      }
      .blog-link a:hover,.blog-tag a:hover {
          color: white;
      }
      /*右侧设置*/
      .blog-right {
          float: right;
           80%;
          height: 1000px;
      }
      .article {
          margin: 20px 40px 10px 10px;
          box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
          background-color: white;
      }
      .article-title {
          padding-left: 20px;
          padding-top: 10px;
          border-left: 8px solid red;
      }
      .title {
          font-size: 32px;
      }
      .date {
          font-size: 18px;
          font-weight: bolder;
          float: right;
          padding-top: 5px;
          padding-right: 10px;
      }
      .article-content {
          text-indent: 2em;
          padding-top: 20px;
          padding-bottom: 20px;
      }
      .article-botton {
          text-indent: 2em;
      }
      

    css3选择器:https://www.cnblogs.com/skylar/p/css3-selector.html#s1
    渐变:https://www.cnblogs.com/tianma3798/p/6084608.html
    动画高级:https://www.cnblogs.com/qianduanjingying/p/4937574.html

  • 相关阅读:
    学习笔记
    django中嵌入百度editor插件
    定位屡试不爽
    django忘记管理员账号和密码处理
    linux上配置java环境
    python3学习问题汇总
    Android系统框架
    python深复制和浅复制
    装饰器原理和装饰器参数使用
    小白神器
  • 原文地址:https://www.cnblogs.com/borntodie/p/14121360.html
Copyright © 2011-2022 走看看