css学习笔记

黑马笔记目录

  1. CSS第一天之基础
    在这里插入图片描述

  2. CSS第二天之基础
    在这里插入图片描述

  3. CSS第三天之盒子模型
    在这里插入图片描述

  4. CSS第四天之浮动
    在这里插入图片描述

  5. CSS第五天之定位
    在这里插入图片描述

  6. CSS第六天之高级技巧
    在这里插入图片描述

  7. CSS第七天之提高
    在这里插入图片描述

CSS引入:

  • CSS 是一种描述 HTML 文档样式的语言。

  • CSS 描述应该如何显示 HTML 元素。

1.CSS 简介

什么是 CSS?

  • CSS 指的是层叠样式表* (Cascading Style Sheets)
  • CSS 描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素
  • CSS 节省了大量工作。它可以同时控制多张网页的布局
  • 外部样式表存储在 .css 文件中

*:也称级联样式表

2.CSS语法

CSS 规则集(rule-set)由选择器声明块组成:

在这里插入图片描述

  • 选择器指向您需要设置样式的 HTML 元素。
  • 声明块包含一条或多条用分号分隔的声明。
  • 每条声明都包含一个 CSS 属性名称和一个值,以冒号分隔。
  • 多条 CSS 声明用分号分隔,声明块用花括号括起来。

3.CSS选择器

css选择器的作用:

CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。

我们可以将 CSS 选择器分为五类:
  • 简单选择器(根据名称、id、类来选取元素)
  • 组合器选择器(根据它们之间的特定关系来选取元素)
  • 伪类选择器(根据特定状态选取元素)
  • 伪元素选择器(选取元素的一部分并设置其样式)
  • 属性选择器(根据属性或属性值来选取元素)

【1】id选择器

  • id 选择器使用 HTML 元素的 id 属性来选择特定元素。
  • 元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!
  • 要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。
  • 注意:id 名称不能以数字开头。

例:

<!DOCTYPE html>
<html>
<head>
<style>
#para1 {
  text-align: center;
  color: red;
}
</style>
</head>
<body>

<p id="para1">Hello World!</p>
<p>本段不受样式的影响。</p>

</body>
</html>

【2】类选择器

  • 类选择器选择有特定 class 属性的 HTML 元素。
  • 如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。
  • 类选择器可以多个标签使用同一个类名,且同一个标签可以有多个不同的类名,用任意分隔符分开即可。
  • 注意:类名不能以数字开头!
<!DOCTYPE html>
<html>
<head>
<style>
<!--多选-->
.center{
  text-align: center;
  color: red;
}
<!--指明p标签-->
p.center{

}
<!--p标签的另一个类名-->
.a{

}
</style>
</head>
<body>

<h1 class="center">这个标题不受影响</h1>
<p class="center a">这个段落将是红色并居中对齐的。</p> 

</body>
</html>

【3】*通用选择器(通配符)
可以选择所有的标签
【4】分组选择器

  • 最好对选择器进行分组,以最大程度地缩减代码。
  • 如需对选择器进行分组,请用逗号来分隔每个选择器。
h1, p.c ,#a,.b{
  text-align: center;
  color: red;
}

【5】组合器选择器

  • 组合器是解释选择器之间关系的某种机制。
  • CSS 选择器可以包含多个简单选择器在简单选择器之间,我们可以包含一个组合器
  • CSS 中有四种不同的组合器:
    • 后代选择器 (空格)
      后代选择器匹配属于指定元素后代的所有元素。
<!--下面的例子选择 <div> 元素内的所有 <p> 元素:-->
div p {
  background-color: yellow;
}
  • 子选择器 (>)
    子选择器匹配属于指定元素子元素的所有元素。(必须是直系儿子)
<!--下面的例子选择属于 <div> 元素子元素的所有 <p> 元素:-->
div > p {
  background-color: yellow;
}

区别一下上面两种选择器的代码:
先看后代选择器:

<!DOCTYPE html>
<html>
<head>
<style>
div p {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>后代选择器</h1>
<p>后代选择器匹配作为指定元素后代的所有元素。</p>

<div>
  <p>div 中的段落 1。</p>
  <p>div 中的段落 2。</p>
  <section><p>div 中的段落 3。</p></section>
</div>

<p>段落 4。不在 div 中。</p>
<p>段落 5。不在 div 中。</p>

</body>
</html>

再看子选择器:

<!DOCTYPE html>
<html>
<head>
<style>
div > p {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>子选择器</h1>
<p>子选择器 (>) 选择属于指定元素子元素的所有元素。</p>

<div>
  <p>div 中的段落 1。</p>
  <p>div 中的段落 2。</p>
  <section><p>div 中的段落 3。</p></section> <!-- 非子但属后代 -->
  <p>div 中的段落 4。</p>
</div>

<p>段落 5。不在 div 中。</p>
<p>段落 6。不在 div 中。</p>

</body>
</html>
  • 相邻兄弟选择器 (+)
    • 相邻兄弟选择器匹配所有作为指定元素的相邻同级的元素。
    • 兄弟(同级)元素必须具有相同的父元素,“相邻”的意思是“紧随其后”。
<!--下面的例子选择紧随 <div> 元素之后的所有 <p> 元素:-->
div + p {
  background-color: yellow;
}

区别展示代码:

<!DOCTYPE html>
<html>
<head>
<style>
div + p {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>相邻兄弟选择器</h1>
<p>相邻的同胞选择器(+)选择所有作为指定元素的相邻的同级元素。</p>

<div>
  <p>div 中的段落 1。</p>
  <p>div 中的段落 2。</p>
</div>

<p>段落 3。不在 div 中。</p>
<p>段落 4。不在 div 中。</p>

</body>
</html>
  • 通用兄弟选择器 (~)
    • 通用兄弟选择器匹配属于指定元素的同级元素的所有元素。
<!--下面的例子选择属于 <div> 元素的同级元素的所有 <p> 元素:-->
div ~ p {
  background-color: yellow;
}

全局代码区别展示:

<!DOCTYPE html>
<html>
<head>
<style>
div ~ p {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>通用兄弟选择器</h1>
<p>通用的兄弟选择器(~)选择指定元素的所有同级元素。</p>

<p>段落 1。</p>

<div>
  <p>段落 2。</p>
</div>

<p>段落 3。</p>
<code>一些代码。</code>
<p>段落 4。</p>

</body>
</html>

【6】伪类选择器

【7】伪元素选择器
【8】属性选择器
以上是基础的选择器,下面为拓展讲解!!!
【1】CSS 元素选择器
【2】CSS 选择器分组
【3】CSS 类选择器详解
【4】CSS ID 选择器详解
【5】CSS 属性选择器详解
【6】CSS 后代选择器
【7】CSS 子元素选择器
【8】CSS 相邻兄弟选择器

CSS重点分析

CSS之伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素
伪类选择器书写的最大特点是冒号(:)表示:hover、:frist-child
因为伪类选择器很多,比如有链接伪类,结构伪类,所以这里先给大家讲解常用的链接伪类选择器

    a:link   /*选择所有未被访问的链接*/
    a:visited  /*选择所有已被访问的链接*/
    a:hover  /*选择鼠标指针位于其上的链接*/
    a:active /*选择活动链接(鼠标按下未弹起的链接)*/
    在实际开发中最常用的就是a:hover,顺序只能为lvha,帮助记忆:love和hate

展示代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        a:link{
            color: #333;
            text-decoration: none;
        }
        a:visited{
            color: orange;
        }
        a:hover{//最常用的就是a:hover
            color: skyblue;
        }
        a:active{
            color: green;
        }
    </style>
</head>
<body>
	<a href="#">小猪佩奇</a>
	<a href="#a">花园宝宝</a>
	<a href="#b">喜羊羊与灰太狼</a>
</body>
</html>

实际运用代码:

	<style>
		a{
            color: gray;
        }
        a:hover{
            color: red;
        }
     </style>
     <body>
     	 <a href="#aa">经常的写法</a>
     </body>

:focus伪类选择器用于选取获得焦点的表单元素
焦点就是光标,一般情况下<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说

黑马笔记

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个属性常用于表格,其他情况也可以巧妙利用margin负值来合并
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 行内元素如果有内容是指定了宽高的,因此会撑开,方向是左右下(但是我的padding-top方向的值无效)
  • 块级元素如果有内容,是指定了高度是,因此会撑开高度方向(没有指定宽度是不会撑开宽度方向的)
  • 行内块元素有内容是指定了宽高的,四个方向的padding值都有效
    在这里插入图片描述
    注意:
    行内元素的margin-top,margin-bottom是无效的
    有很多资料说其padding-top和padding-bottom是无效的,我验证了一下,其是有效的
    看图:
    在这里插入图片描述
    很明显padding-top方向压住覆盖了div盒子,而且padding-bottom方向也是存在的
    再看图
    在这里插入图片描述
    很明显padding-bottom方向压住覆盖了div盒子,padding-top显示不了
    结论:行内元素的margin-top,margin-bottom是无效的,行内元素的padding-top,padding-bottom会产生压盖效果,并不会把盒子推开,视觉上是有效存在的但在效果上是无效的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    还有一种解决方案:
    外边距合并情况只会发生在块级元素上,我们当然也可以采用转换元素显示模式来解决
    (注意转换为行内元素是无效垂直外边距的哦)
    把父盒子转换为行内块元素或者把子盒子转换为行内块元素,或者两者都可以转换为行内块元素
    当然你转为浮动和绝对地位,固定定位也是可以解决的(这种模式下的盒子也是行内块元素)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:我的浏览器不会显示小框框,解决办法:
在这里插入图片描述

在这里插入图片描述

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Title</title>
    <style>
        /*字体声明*/
        @font-face {
            font-family: 'icomoon';
            src:  url('fonts/icomoon.eot?wggr8n');
            src:  url('fonts/icomoon.eot?wggr8n#iefix') format('embedded-opentype'),
            url('fonts/icomoon.ttf?wggr8n') format('truetype'),
            url('fonts/icomoon.woff?wggr8n') format('woff'),
            url('fonts/icomoon.svg?wggr8n#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }
        span{
            font-family: 'icomoon';
            color: olive;
        }

    </style>
</head>
<body>
        <span>&#xe910;</span>
</body>
</html>

效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

		    width: 0;
            height: 0;
            /*下面两行代码是为了考虑兼容性问题而写的*/
            line-height: 0;
            font-size: 0;
            border: 50px solid transparent;
            border-left-color: pink;

达到下面效果采用定位就OK了(子绝父相)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此问题出现在行内元素中,还会产生塌陷问题哦
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 		div{
            width: 200px;
            height: 200px;
            margin: 100px   150px 1px;
            background-color: pink;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
         }

在这里插入图片描述

 		div{
 			width: 200px;
            height: 40px;
            margin: 100px   150px 1px;
            background-color: pink;

            overflow: hidden;
            text-overflow: ellipsis;

            display: -webkit-box;
            -webkit-line-clamp:2;
            -webkit-box-orient: vertical;
           }

-webkit-line-clamp已经检测不到提示属性了,不知道是不是有更好是方法替代

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

        div{
            width: 0;
            height: 0;
            border-color: transparent red transparent transparent;
            border-style: solid;
            border-width: 22px 8px 0 0;
           }

在这里插入图片描述
下面是京东的初始化代码,最后三个可以去掉

    <style>
        /*CSS初始化*/
        
        /*把所有的内外边距清零,并且保证盒子大小不会被撑开*/
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        em, i {
            font-style: normal
        }
        /*去掉无序列表前的黑圈*/
        li {
            list-style: none
        }
        
        /*使图片与文字居中对齐*/
        img {
            /*下面一句代码主要是为了兼容性*/
            border: 0;
            vertical-align: middle;
        }
        /*在按钮上的鼠标样式默认为小手*/
        button {
            cursor: pointer
        }
        /*链接去掉下划线并设置字体颜色*/
        a {
            color: #666;
            text-decoration: none
        }
        /*当鼠标经过链接的时候,字体颜色发生改变*/
        a:hover {
            color: #c81623
        }
        /*设置默认字体*/
        button, input {
            font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif
        }

        body {
            /*CSS3 抗锯齿性,让文字显示更加清晰*/
            -webkit-font-smoothing: antialiased;
            background-color: #fff;
            font: 12px/1.5 Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif;
            color: #666
        }

        .hide, .none {
            display: none;
        }

        .clearfix:after {
            visibility: hidden;
            clear: both;
            display: block;
            content: ".";
            height: 0;
        }

        .clearfix {
            *zoom: 1;
        }
    </style>
返回目录

CSS提高

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CharmDeer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值