• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
蓝冰蝶
博客园    首页    新随笔    联系   管理    订阅  订阅
CSS知识点(一)

一、引入CSS样式(重点掌握)

  1. 行内样式

  2. 内接样式

  3. 外接样式

     3.1 链接式

     3.1 导入式

css介绍

现在的互联网前端分三层:

  • HTML:超文本标记语言。从语义的角度描述页面结构。
  • CSS:层叠样式表。从审美的角度负责页面样式。
  • JS:JavaScript 。从交互的角度描述页面行为

HTML的缺陷:

  1. 不能够适应多种设备
  2. 要求浏览器必须智能化足够庞大
  3. 数据和显示没有分开
  4. 功能不够强大

CSS 优点:

  1. 使数据和显示分开
  2. 降低网络流量
  3. 使整个网站视觉效果一致
  4. 使开发效率提高了(耦合性降低,一个人负责写html,一个人负责写css)

比如说,有一个样式需要在一百个页面上显示,如果是html来实现,那要写一百遍,现在有了css,只要写一遍。现在,html只提供数据和一些控件,完全交给css提供各种各样的样式。

<!--行内样式-->
<div>
    <p style="color: green">我是一个段落</p>
</div>

<!--内接样式-->
<style type="text/css">
    /*写我们的css代码*/
    span{
    color: yellow;
    }
</style>

<!--外接样式-链接式-->
<link rel="stylesheet" href="./index.css">

<!--外接样式-导入式-->
<style type="text/css">
        @import url('./index.css');
</style> 

 

二、基本选择器

css的选择器:1.基本选择器 2.高级选择器

基本选择器包含:

1.标签选择器
标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 "共性" 而不是 ”特性“

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

2.id选择器
# 选中id

同一个页面中id不能重复。
任何的标签都可以设置id 
id命名规范 要以字母 可以有数字 下划线 - 大小写严格区分 aa和AA是两个不一样的属性值

#box{
    background:green;
}
            
#s1{
    color: red;
}

#s2{
    font-size: 30px;
}

3.类选择器

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

类的使用,能够决定前端工程师的css水平到底有多牛逼?

玩类了,一定要有”公共类“的概念。

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

  }   
 <!-- 公共类    共有的属性 -->
<div>
    <p class="lv big">段落1</p>
    <p class="lv line">段落2</p>
    <p class="line big">段落3</p>
</div>

总结:

  • 不要去试图用一个类将我们的页面写完。这个标签要携带多个类,共同设置样式

  • 每个类要尽可能的小,有公共的概念,能够让更多的标签使用

 

到底使用id还是用class?

答案:尽可能的用class。除非一些特殊情况可以用id

原因:id一般是用在js的。也就是说 js是通过id来获取到标签

 

三、高级选择器

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

子代选择器:使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子....)元素p。

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

交集选择器:使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active,它表示两者选中之后元素共有的特性。

<!--后代选择器-->
.container p{
    color: red;        
}
.container .item p{
    color: yellow;
}

<!--子代选择器-->
container>p{
    color: yellowgreen;
}

<!--并集选择器-->
h3,a{
    color: #008000;
    text-decoration: none;            
}

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

四、属性选择器

/*根据属性查找*/
            /*[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;
            }

五、伪类选择器

伪类选择器一般会用在超链接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;
}

六、伪元素选择器

/*设置第一个首字母的样式*/
p:first-letter{
    color: red;
    font-size: 30px;
}

/* 在....之前 添加内容   这个属性使用不是很频繁 了解  使用此伪元素选择器一定要结合content属性*/
p:before{
    content:'alex';
}

/*在....之后 添加内容,使用非常频繁 通常与咱们后面要讲到布局 有很大的关联(清除浮动)*/
p:after{
    content:'&';
    color: red;
    font-size: 40px;
}

 

posted on 2018-09-17 20:52  蓝冰蝶  阅读(169)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3