灯塔:CSS笔记

时间:2024-03-03 09:09:41

CSS:层叠样式表

所谓层叠 即叠加的意思,表示样式可以一层一层的层叠覆盖

css写在style标签中,style标签一般写在head标签里面,title标签下面

<!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>
        p{
            /*  */
            color: white;
            /*  */
            font-size: 30px;
            /*  */
            background-color: black;
            /*  */
            width: 300px;
            height: 400;
        }
    </style>
</head>
<body>
    <p>这是一个p标签</p>
</body>
</html>

CSS的引入方式:

内嵌式:CSS写在style标签中

style标签虽然可以写在页面的任意位置,但是通常约定写在head标签中

 外联式:CSS写在一个单独的.css文件中

需要通过link标签在网页中引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
//stylesheet 样式表
    <link rel="stylesheet" href="./my.css">
</head>
<body>
    <p>
        活在当下 
    </p>
</body>
</html>
p{
    color: aquamarine;
}
 行内式:CSS写在标签的style属性中 配合js使用
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>行内式</title>
</head>
<body>
    <p style="color: aqua; font-size: 30px; background-color: blanchedalmond;" >This is yellowgreen.</p>
</body>
</html>

CSS常见三种引入方式的特点区别有哪些?

引入方式 书写位置 作用范围 使用场景
内嵌式 CSS写在style标签中 当前页面 小案例
外联式 CSS写在单独的css文件中,通过link标签引入 多个页面 项目中
行内式 CSS写在标签的style属性中 当前标签 配合js使用

 基础选择器:

1.标签选择器

结构:标签名{ css 属性名:属性值;}

作用:通过标签名,找到页面中所有这类的标签,设置样式

注意点:

1.标签选择器选择的是一类标签,而不是单独某一个

2.标签选择器无论嵌套关系有多深,都能找到对应的标签

<!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>
    /* 选择器{} */
    /* 标签选择器就是以标签名命名的选择器 */
    /* 标签选择器选中的所有的这个标签都生效 */
        p{
            color: chocolate;
            background-color: bisque;
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>这是一个p标签</p>
    <p>这也是一个p标签</p>
</body>
</html>
2.类选择器

结构:.类名{ css属性名:属性值;}

作用:通过类名,找到页面中所有带有这个类名的标签,设置样式

注意点:

1.所有标签上都有class属性,class属性的属性值称为类名(类似于名字)

2.类名可以由数字 字母 下划线 中划线组成,但是不能以数字或者中划线开头

3.一个标签可以同时有多个类名,类名之间以空格隔开

4.类名可以重复,一个类选择器可以同时选中多个标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类选择器</title>
    <style>
        .color{
            color: lightcoral;
            
        }
        .size{
            font-size: 20px;
        }
    </style>
</head>
<body>
    <p class="color size">这是一个p标签</p>
    <div class="color">这是一个div标签</div>
</body>
</html>
3.id选择器

结构:#id属性值{ css属性名:属性值;}

作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

注意点:

1.所有标签上都有id属性

2.id属性值类似于身份证号,在一个页面 中是唯一的,不可重复

3.一个标签上只能有一个id属性值

4.一个id选择器只能选择一个标签

4.通配符选择器

结构:*{css 属性名:属性值;}

作用:找到页面中所有的标签,设置样式

注意点:

1.开发中使用极少,只会在极特殊情况下才会用到

2.在小页面中可能会用于去除标签默认的margin和padding

字体和文本样式

1.字体大小

属性名:font-size

取值:数字+px

注意点:

谷歌浏览器默认文字大小是16px

单位需要设置,否则无效

2.字体粗细

属性名:font-weignt

关键字:

正常 normal
加粗 bold

纯数字:

正常 400
加粗 700

注意点:

不是所有字体都提供了九种粗细,因此部分取值页面中无变化

实际开发中:正常加粗两种取值使用最多

3.字体样式(是否倾斜)

属性名:font-style

取值:

正常(默认):normal

倾斜:italic

字体系列 font-family

样式的层叠问题

如果给同一个标签设置了相同的样式,此时样式会层叠(覆盖),写在最下面的会生效

字体font相关属性的连写

属性名:font(复合属性)

取值:font:style weight size family;

省略要求:只能省略前两个,如果省略了相当于

设置了默认值

注意点:如果需要同时设置单独和连写形式

要么把单独的样式写在连写的下面

要么把单独的样式写在连写的里面

文本缩进

属性名:text-indent

取值:

*数字+px

*数字+em(推荐:1em=当前标签的font-size的大小)

<!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>
        p{
            text-indent: 2em;
        }
    </style>
</head>
<body>
    <p>神舟十七号航天员汤洪波、唐胜杰、江新林密切协同,在空间站机械臂和地面科研人员的配合支持下,完成全部既定任务,航天员汤洪波、江新林安全返回问天实验舱,出舱活动取得圆满成功</p>
</body>
</html>
文本水平对齐方式

属性名:text-align

取值:

属性值 效果
left 左对齐
center 居中对齐
right 右对齐

注意点:如果需要让文本水平居中,text-align属性给文本所在标签(文本的父元素)设置

<!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>
        h1{
            text-align: center;
        }
        p{
            text-align: right;
        }
        div{
            text-align: left;
        }
    </style>
</head>
<body>
    <h1>新闻标题</h1>
    <p>这是一个p标签</p>
    <div>这是一个div标签</div>
</body>
</html>
文本修饰

属性名:text-decoration

取值:

属性值 效果
underline 下划线(常用)
line-through 删除线(不常用)
overline 上划线
none 无装饰线(常用)

注意点:开发中会使用text-decoration:none;清除a标签默认的下划线

<!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>
        p{
            text-decoration: underline;
        }
        div{
            text-decoration: line-through;
        }
        h2{
            text-decoration: overline;
        }
        a{
            text-decoration: none;
        }
    </style>
</head>
<body>
    <p>ppppp</p>
    <div>divdivdiv</div>
    <h2>h2h2h2</h2>
    <a href="">我是超链接 点点看????????????</a>
</body>
</html>
水平居中的方法总结 text-align:center

text-align:center能让哪些元素水平居中?

1.文本

2.span标签 a标签

3.input标签 img标签

注意点:

如果需要让以上元素水平居中,text-align:center需要给以上元素的父元素设置

<!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>
    p{
        text-align: center;
    }
    body{
        text-align: center;
    }
  </style>
</head>
<body>
    <p>图片</p>
    <img src="beauty.jpg" alt="正在加载中" title="这是一个美女图片" width="400">
</body>
</html>
行高

作用:控制一行的上下间距

属性名:line-height

取值:

*数字+px

*倍数

应用:1.让单行文本垂直居中可以设置line-height:文字父元素高度

2.网页精准布局时,会设置line-height:1可以取消上下间距

行高与font连写的注意点:

*如果同时设置了行高和font连写,注意覆盖问题

*font:style weight size/line-height family;

<!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>
        p{
           font: italic bold 32px/1.5 宋体;
        }
    </style>
</head>
<body>
    <p>没错。原子弹爆炸的条件既不是铀的“临界质量”,也不是铀的“临界密度”,而是基于“碰撞截面”和铀块形状、反射层 / 反射率等等共同决定的一个复杂参数。

        什么叫“碰撞截面”呢?
        
        还记得高中学过的卢瑟福实验吗?
        
        没错,用α粒子轰击金箔,这才发现金箔对α粒子几乎是透明的——然后,揭示了一个事实:原子核是一个极小极小的核,原子之间是极其空旷的。
        
        换句话说,固体中,原子和原子并不是像这样,一堆实心小球堆叠起来的我们知道,想要引起铀核裂变,就需要让中子击中原子核。

    </p>
</body>
</html>

标签水平居中方法总结 margin :0 auto

如果需要让div p h(大盒子)水平居中?

可以通过margin :0 auto;实现

注意点:

1.需要让div p h (大盒子)水平居中,直接给当前元素本身设置即可

2.margin:0 auto 一般针对固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度

<!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>
        div{
           background-color: brown;
           width: 600px;
           height: 400px;
           margin: 0 auto;
        }
    </style>
</head>
<body>
   <div>
   </div> 
</body>
</html>