CSS零基础入门笔记

CSS零基础入门笔记

1、css样式表

1、什么是css

英文全名:cascading style sheets(百度百科) === cascading style sheet

层叠样式表WEB标准中的表现标准语言,表现标准语言在网页中主要对网页信息的显示进行控制,简单说就是如何修饰网页信息的显示样式。目前推荐遵循的是W3C发布的CSS3.0.用来表现XHTML或者XML等样式文件的计算机语言。1998年5月21日由w3C正式推出的css2.0

2、css语法

  1. 每个CSS样式由两部分组成,即选择符和声明,声明又分为属性和属性值;
  2. 属性必须放在花括号中,属性与属性值用冒号连接。
  3. 每条声明用分号结束。
  4. 当一个属性有多个属性值的时候,属性值与属性值不分先后顺序,用空格隔开。
  5. 在书写样式过程中,空格、换行等操作不影响属性显示。

2、三种css引入样式

  • 行内样式(内联样式)引入规则:样式写在标签的style属性中行内样式的语法规则:
<标记名 style="属性1:属性值1;属性2:属性值2;属性3:属性值3;..."> 内容 </标记名>
  • 内嵌[内部]样式引入规则:样式放在head或body标签的style标签中:

    当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表;

    内嵌样式的语法规则:

<head>
<style type="text/css">
选择器{
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
....
}
</style>
</head>
  • 外部样式[链入式]引入规则;一个单独的样式文件,存放我们的样式

链入式是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过 标记将外部样式表文件链接到HTML文

档中。

链入式的语法规则:

<head>
<like href="CSS文件的路径" type="text/css" rel="stylesheet"/>
</head>

该语法中, <like/> 标记需要放在 <head> 头部标记中,并且必须指定 <like/> 标记的三个属性。如下:

  • href:定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
  • type:定义所链接文档的类型,在这里需要制定为”text/css“,表示链接的外部文件为CSS样式表。
  • rel:定义当前文档与被链接文档之间的关系,在这里需要指定为”stylesheet“,表示被链接的文档是一个样式表文件。

3、样式优先级

(内联样式)Inline style > (内部样式)Internal style sheet =(外部样式)External style sheet > 浏览器默认样式

**注意:**如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

4、标签选择器

  • 通过标签名称来选择HTML元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
  div{                    //选中所有的div标签
    width: 100px;
    height: 100px;
    color: red;          //设置字体颜色
  }
  p{                     //选中所有的p标签
    color: blue;
  }
</style>
<body>
    <div>
      div标签  
    </div>
    <p>
        p标签
    </p>
</body>
</html>

5、id选择器

id 选择器根据元素的 id 属性来选择特定的 HTML 元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id 。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #box1{                       //选中所有id="box1"的标签
            background-color: yellow; //设置背景颜色
        }
        #box2{
            background-color: red;
        }
        #box3{
            background-color: blue;
        }
    </style>
</head>
<body>
    <div id="box1">1111111111</div>
    <div id="box2">222222222</div>
    <div id="box3">333333333</div>
</body>
</html>

6、类选择器

类选择器选择有特定 class 属性的 HTML 元素。

如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .huashan{
            color:red;
            background-color: yellow;
        }
        .ibm{
            background-color: blue;
        }

        
    </style>
</head>
<body>
    <div>1111</div>
    <div class=" ibm huashan">2222</div>    //一个标签中可以写多个类
    <div class="ibm">33333</div>
    <div class="ibm">44444</div>
    <div>5555</div>
    <div>6666</div>
</body>
</html>

7、通配符选择器

通用选择器(*)选择页面上的所有的 HTML 元素。

*{
        margin: 0;
        padding:0 ;
    }

8、群组选择器

中间用(,)隔开,可一次选中多个HTML元素。

div,p,h1{
      background-color: yellow;
        } 

div,.boxp,h1{           //选中多个标签
      background-color: yellow;
        }
/* 群组选择器:提出公共代码,节约代码量 */
   

9、后代选择器

后代选择器用于选取某元素的后代元素。

div p {
background-color: yellow;
}

10、其他选择器

  • 子元素选择器

    选中某一元素的所有后代元素:

div > p {
background-color: red;
}
  • 相邻兄弟元素选择器

    选中某一元素后的第一个兄弟元素

div + p {
background-color: green;
}
  • 后续兄弟选择器

    选择某一元素后的所有兄弟元素

div ~ p {
background-color: orange;
}

11、display隐藏元素

  • visibility:hidden; 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,

但仍然会影响布局。

  • display:none; 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用

的空间也会从页面布局中消失。

12、伪元素

伪元素用于设置元素指定部分的样式。

例如,它可用于:

  • 设置元素的首字母、首行的样式

  • 在元素的内容之前或之后插入内容

语法:

  • ::before在元素内容之前插入
      h1::before {
         content: url('img/smiley.png');
         vertical-align: middle;
         margin-right: 12px;
      }
  • ::after在元素内容之后插入

用伪元素清除浮动(常用)

在元素最后面插入一个空白内容,并清除浮动且设置成块级元素。

语法:

.box::after{  
        content: '';  //和伪元素搭配使用,必写
        display: block;  
        clear: both;
      }

13、清除浮动的方式

  • 给父级元素单独定义高度(height

  • 在标签结尾处(前)加空div标签, clear:both

  • 伪元素清除(同2中的伪元素)

  • 父级div定义 overflow:hidden

缺点:不能和position配合使用,因为超出的尺寸的会被隐藏

  • 父级div定义 overflow:auto

缺点:内部宽高超过父级div时,会出现滚动条

14、渐变

14.1、概述

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。

14.2、线性渐变

为了创建一个线性渐变,你必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以设 置一个起点和一个方向(或一个角度)。(一个方向到另一个方向渐变)

语法:

background-image: linear-gradient(direction/degree,color-stop1 占比, color-stop2 占比, ...);
  • **direction(方向)😗*to left 、to right 、to top、to bottom、to top right…/degree(角度):(0~360)deg(顺时针)

14.3、径向渐变

径向渐变由它的中心定义。 为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以 指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状 是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。

语法:

background-image: radial-gradient(shape size at position, start-color, ..., last-color);
  • **shape(形状):**elipse 椭圆(默认) circle 圆形。注:在正方形中两者效果相同

  • **size(大小):**即渐变到哪里停止

    1. closest-side:圆心到距离最近的边
    2. farthest-side:圆心到距离最远的边
    3. closest-corner:圆心到距离最近的角
    4. farthest-corner:圆心到距离最远的角
  • **position(渐变中心点位置)😗*默认在正中间,60% 50%=>(距离左边、上边的距离)。

    background-image: radial-gradient(farthest-side at 60% 55%, red, yellow...)
    

14.4、重复渐变

重复某一渐变过程。

在线性渐变或径向渐变前加上repeating-

14.5、透明度

CSS3 渐变也支持透明度(transparent),可用于创建减弱变淡的效果。 为了添加透明度,我们使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定 义了颜色的透明度:0 表示完全透明,1 表示完全不透明。

15、阴影

15.1、盒子阴影

语法:

box-shadow:水平位移 垂直位移 模糊程度  阴影大小 颜色 内/外侧阴影(默认外侧,inset内侧)

15.2文本阴影

语法:

text-shadow:水平位移 垂直位移 模糊程度  颜色

16、媒体查询

使用媒体查询的一种方法是在样式表内有一个备用的 CSS 部分。

语法:

min-width、max-width

@media screen and (min-width: 480px) {

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值