CSS基础

1.CSS基础

1.1CSS介绍

  1. 现在的互联网前端分三层:
    • HTML:超文本标记语言。从语义的角度描述页面结构。
    • CSS:层叠样式表。从审美的角度负责页面样式。
    • JS:JavaScript 。从交互的角度描述页面行为
  • CSS:Cascading Style Sheet,层叠样式表。
  • CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。
  1. HTML的缺陷:
    • 不能够适应多种设备
    • 要求浏览器必须智能化足够庞大
    • 数据和显示没有分开
    • 功能不够强大
  2. CSS 优点:
    • 使数据和显示分开
    • 降低网络流量
    • 使整个网站视觉效果一致
    • 使开发效率提高了

1.2.CSS样式

  1. 行内样式

     <div>
     	<p style="color: green">我是一个段落</p>
     </div>
    
  2. 内接样式

     <style type="text/css">
     /*css代码*/  
     span{
     	 color: yellow;
     }
     </style>
    
  3. 外接样式-链接式

    <link rel="stylesheet" href="./index.css">
    
  4. 外接样式-导入式

     <style type="text/css">
     	@import url('./index.css');
     </style> 
    

1.2CSS基础语法

  • 1.selector {
    property:value
    }
    例: h1 {color:red; font-size:14px;}
    属性大于1个之后,属性之间用分号隔开
    如果值大于1个单词,则需要加上引号:
    p {font-family:“sans serif”}

1.3CSS高级语法

  • 1.选择器分组:
    h1, h2, h3, h4, h5, h6{color:red;}
  • 2.继承:
    body{
    color:green;
    }

1.4CSS选择器

1.4.1元素选择器

  • a.最常见的选择器就是元素选择器,文档的元素就是最基本的选择器

  • b.可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 “共性” 而不是 ”特性“
    例如:h1{}, a{}

        body{
      	  color:gray;
      	  font-size: 12px;
        }
      	/*标签选择器*/
        p{
        	color: red;
        	font-size: 20px;
        }
        span{
            color: yellow;
        }
    

1.4.2.选择器分组

  • 例子:h1, h2{}
  • 通配符: *{}

1.4.3.类选择器详解

类选择器以一个点显示
class也可以做派生选择器

  • a.类选择器允许以一种独立与文档元素的方式来指定样式

  • 所谓类:就是class . class与id非常相似 任何的标签都可以加类,但是类是可以重复,属于归类的概念。同一个标签中可以携带多个类,用空格隔开
    例如: .class{}

        .lv{
       		color: green;
        }
        .big{
       		font-size: 40px;
        }
        .line{
      		text-decoration: underline;
        }
    

    HTML文本

    <!--公共类-->
    <p id="p1" class="big lv">百度一下</p>
    <p id="p2" class="lv line">百度一下</p>
    <p id="p3" class="big lline">百度一下</p>
    
  • b.结合元素选择器
    例如:a.class{}

  • c.多类选择器
    例如:.class.class{}

1.4.4.ID 选择器详解

id选择器可以为标有id的HTML元素指定特定的样式
id选择器和派生选择器:
目前比较常用的方式是id选择器常常用于建立派生选择器

  • a.ID 选择器:
    ID选择器类似于类选择器,不过也有一些重要差别
    id选择器以"#"来定义
    同一个页面中id不能重复。
    任何的标签都可以设置id
    id命名规范 要以字母 可以有数字 下划线 - 大小写严格区分 aa和AA是两个不一样的属性值
    例如:#id{}

        #box{
    		background:green;
        }              
        #s1{
        color: red;
        }
        #s2{
        font-size: 30px;
        }
    
  • b.类选择器和ID选择器区别:
    1.ID只能在文档中使用一次,而类可以多次使用
    2.ID选择器不能结合使用
    3.当使用js的时候,需要用到id

1.4.5.属性选择器详解

对带有指定属性的HTML元素设置样式

  • a.简单属性选择:
    例如:[title]{}

  • b.根据具体属性值选择:
    除了选择拥有某些元素,还可以进一步缩小选择范围,只选择有特定属性值的元素
    例如:a[href = “http://www.baidu.com” ]{};

  • c.属性和属性值必须完全匹配

  • d.根据部分属性值选择

      	/*根据属性查找*/
      	            /*[for]{
      	                color: red;
      	            }*/
      	            
      	            /*找到for属性的等于username的元素 字体颜色设为红色*/
      	            /*[for='username']{
      	                color: yellow;
      	            }*/
      	            
      	            /*以....开头  ^*/ 
      	            /*[for^='user']{
      	                color: #008000;
      	            }*/
      	            
      	            /*以....结尾   $*/
      	            /*[for$='vvip']{
      	                color: red;
      	            }*/
      	            
      	            /*包含某元素的标签*/
      	            /*[for*="vip"]{
      	                color: #00BFFF;
      	            }*/
      	            
      	            /**/
      	            
      	            /*指定单词的属性*/
      	            label[for~='user1']{
      	                color: red;
      	            }
      	            
      	            input[type='text']{
      	                background: red;
      	            }
    

1.4.6.后代选择器

  • 后代选择器可以选择作为某元素后代的元素
    使用空格表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子)

    .container p{
          color: red;        
    }
    .container .item p{
          color: yellow;
    }
    

1.4.7.子元素选择器

  • a.与后代选择器相比,子元素选择器只能选择作为某元素子元素的元素

  • b.使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子…)元素p。
    例如:h1>strong{};

        .container>p{
        	color: yellowgreen;
        }
    

1.4.8.相邻兄弟选择器

  • 可选择紧接在另一个元素后的元素,且二者有相同父元素
    例如:h1 + p{};

1.4.9.并集选择器

  • 多个选择器之间使用逗号隔开。表示选中的页面中的多个标签。一些共性的元素,可以使用并集选择器

    /*并集选择器*/
    h3,a{
    	color: #008000;
      text-decoration: none             
    }
    

    比如像百度首页使用并集选择器。

       body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
            margin: 0;
            padding: 0
         }
      /*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
    

1.4.10.交集选择器

  • 使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active
    比如有一个<h4 class=‘active’></h4>这样的标签。
    那么

      h4{
          width: 100px;
          font-size: 14px;
      }
      .active{
          color: red;
          text-decoration: underline;
      }
      /* 交集选择器 */
      h4.active{
          background: #00BFFF;
      }
    

1.4.11.伪类选择器

  • 伪类选择器一般会用在超链接a标签中,使用a标签的伪类选择器,我们一定要遵循"爱恨准则" LoVe HAte

      /*没有被访问的a标签的样式*/
              .box ul li.item1 a:link{
                  
                  color: #666;
              }
              /*访问过后的a标签的样式*/
              .box ul li.item2 a:visited{
                  
                  color: yellow;
              }
              /*鼠标悬停时a标签的样式*/
              .box ul li.item3 a:hover{
                  
                  color: green;
              }
              /*鼠标摁住的时候a标签的样式*/
              .box ul li.item4 a:active{
                  
                  color: yellowgreen;
              }
    

    css3的选择器nth-child()

      /*选中第一个元素*/
              div ul li:first-child{
                  font-size: 20px;
                  color: red;
              }
              /*选中最后一个元素*/
              div ul li:last-child{
                  font-size: 20px;
                  color: yellow;
              }
              
              /*选中当前指定的元素  数值从1开始*/
              div ul li:nth-child(3){
                  font-size: 30px;
                  color: purple;
              }
              
              /*n表示选中所有,这里面必须是n, 从0开始的  0的时候表示没有选中*/
              div ul li:nth-child(n){
                  font-size: 40px;
                  color: red;
              }
              
              /*偶数*/
              div ul li:nth-child(2n){
                  font-size: 50px;
                  color: gold;
              }
              /*奇数*/
              div ul li:nth-child(2n-1){
                  font-size: 50px;
                  color: yellow;
              }
              /*隔几换色  隔行换色
                   隔4换色 就是5n+1,隔3换色就是4n+1
                  */
              
              div ul li:nth-child(5n+1){
                  font-size: 50px;
                  color: red;
              }
    

1.4.12.伪元素选择器

	/*设置第一个首字母的样式*/
	        p:first-letter{
	            color: red;
	            font-size: 30px;
	
	        }
	        
	/* 在....之前 添加内容   这个属性使用不是很频繁 了解  使用此伪元素选择器一定要结合content属性*/
	        p:before{
	            content:'alex';
	        }
	        
	        
	/*在....之后 添加内容,使用非常频繁 通常与布局 有很大的关联(清除浮动)*/
	        p:after{
	            content:'&';
	            color: red;
	            font-size: 40px;
	        }

1.5层叠性权重相同处理

第一种现象:当权重相同时,以后来设置的属性为准,前提一定要权重相同

#box2 .wrap3 p{
    color: yellow;
}
        
#box1 .wrap2 p{
    color: red;
}

我们会发现此时显示的是红色的。

第二种现象: 第一个选择器没有选中内层标签,那么它是通过继承来设置的属性,那么它的权重为0。第二个选择器选中了内层标签,有权重。

所以 继承来的元素 权重为0。跟选中的元素没有可比性。

#box1 #box2 .wrap3{
    color: red;
}
#box2 .wrap3 p{
    color: green;
}

我们会发现此时显示的是绿色的。
第三种现象:如果都是继承来的属性,谁描述的近,显示谁的属性。‘就近原则’

#box1 #box2 .wrap3{
    color: red;
}
 .wrap1 #box2{
    color: green;
}

!important 的使用。
!important:设置权重为无限大
!important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局

2.CSS

2.1CSS背景

  • 1.背景:
    CSS允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果
标签 描述
background-attachment 背景图像是否固定或者随着页面的其余部分滚动
background-color 设置元素的背景颜色
background-image 把图片设置为背景
background-position
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值