CSS详细基础(一)选择器基础

news2025/2/22 7:30:59

本帖开始,我们来介绍CSS——即,层叠样式表~

        层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

        CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。

        CSS的存在意义是:贯彻结构样式行为相分离的思想~即,不同模块采用不同的技术,降低项目整体的耦合度。在代码上的具体体现是,将全部的样式属性均写在head内部的style标签中~

总体来说,CSS具有以下特点:

  • 丰富的样式定义

CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。

  • 易于使用和修改

CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,只需要在样式列表中找到相应的样式声明进行修改。

  • 多页面应用

CSS样式表可以单独存放在一个CSS文件中,这样就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。

  • 层叠

简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。

  • 页面压缩

在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程度的缩减了页面的体积,减少下载的时间。

一.基本结构

在合法的开发中,所有的样式均应该写在style标签中,而style又包含在head内部~如下:

<!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>CSS初体验</title>
    <style>
        p       
        /* 采用标签选择器选用全部的p标签 */
        {
            color: red;
            /* 设置字体颜色为红色 */
            font-size: 80px;
            /* 设置字体大小为80像素 */
            font-style: inherit;
         /* 属性后面最好补充一个空格 */
        }
    </style>
</head>
<body>
    <p>有点意思!</p>  
</body>
</html>

如下是对p内部文本修改后的效果:

二.标签选择器

标签选择器等四大选择器均为基础选择器。

所谓标签选择器,即以标签为单位构建样式——这样一来的话,页面内所有同类标签的样式均保持一致~

    <style>
        p
        {
            color:gold ;
        }
        div
        {
            color: pink;
        }
        /* 使用两个标签选择器 */
        /* 注意,标签选择器等四大选择器均为基础选择器。 */
    </style>

三.类选择器

类选择器用于选中一类标签,在Html中具体体现为class属性一致的标签。通常情况下,绝大多数标签均可以设置class属性~

如下是多类标签:

<body>
    <ul>
    <!-- 使用无序标签 -->
   <li class="red big pink">红色</li>
   <!-- 虽然class可以由多个值同时赋予,但是相同属性的值仍然遵守就近原则。 -->
   <li class="yellow">黄色</li>
   <li class="blue">蓝色</li>
   <li class="green">绿色</li>
   <li class="pink">粉色</li>
    </ul>
</body>

如下是类选择器的语法——以.类名来命名~ 

    <style>
        .red
        {
             color: red;
        }
        .yellow
        {
            color: yellow;
        }
        .blue
        {
            color: blue;
        }
        .green
        {
            color: green;
        }
        .pink
        {
            color: pink;
        }
        .big
        {
            font-size: x-large;
        }
        /* 以上六个均采用类选择器 */
    </style>

 

给大家展示一个div标签+类选择器做盒子的案例:

<!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>
    <style>
      .royalblue
      {
        width: 100px;
        height: 100px;
        background-color:rgb(14, 48, 148);
      }
      .orange
      {
        width: 100px;
        height: 100px;
        background-color: orange;
      }
      div
      {
        text-align: center;
        /* 光是文本对齐法无法让盒子实现居中 */
      }
      /* 用类选择器画出两种风格的盒子 */
    </style>
</head>
<body>
    <div class="royalblue"></div>
    <div class="orange"></div>
    <div class="royalblue"></div>
    <div class="orange"></div>
    <div class="royalblue"></div>
    <div class="orange"></div>
    <div class="royalblue"></div>
</body>
</html>

 

四.通配符与ID选择器

通配符选择器的效果是对全页面的元素均产生效果~

语法格式为:

* {
    属性1: 属性值1;
    属性2: 属性值2;
}

而标签选择器,用法上和类选择器高度一致,只不过ID是唯一的,每个标签不能相同~

    <div>
        <span id="one">id选择器效果1</span>
        <span id="two">id选择器效果2</span>
        <span id="three">id选择器效果3</span>
    </div>

语法上以#号开头~

      #one
      {
          color: pink;
          font-size: 30px;
      }
      /* 注意id选择器和类选择的语法区别 */
      #two
      {
          color: skyblue;
          font-size: 30px;
      }
      #three
      {
          color: tan;
          font-size:30px;
      }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1054975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

激光雷达:自动驾驶的眼睛

激光雷达&#xff1a;自动驾驶的眼睛 文章目录 引言激光雷达的原理自动驾驶中的应用激光雷达的优势激光雷达的挑战结论结论 2023星火培训【专项营】Apollo开发者社区布道师倾力打造&#xff0c;包含PnC、新感知等的全新专项课程上线了。理论与实践相结合&#xff0c;全新的PnC培…

TRB爆仓分析,套利分析,行情判断!

毫无疑问昨日TRB又成为涨幅榜的明星&#xff0c;总结下来&#xff0c;多军赚麻&#xff0c;空头爆仓&#xff0c;套利爽歪歪&#xff01; 先说风险最小的套利情况&#xff0c;这里两种套利都能实现收益。 现货与永续合约的资金费率套利年化资金费率达到惊人的3285%——DeFi的…

熔断、限流、降级 —— SpringCloud Alibaba Sentinel

Sentinel 简介 Sentinel 是阿里中间件团队开源的&#xff0c;面向分布式服务架构的高可用流量防护组件&#xff0c;主要以流量为切入点&#xff0c;从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 Sentinel 提供了两个服务组件…

雷达实测数据的信噪比

最近处理了一段时间的雷达实测数据&#xff0c;其中有一个很重要的指标就是信号的信噪比&#xff0c;信噪比定义很简单就是信号的功率除以噪声功率&#xff0c;一般取dB &#xff08;其中如果分子分母是功率的话&#xff0c;那么公式为10log10(X)&#xff0c;如果分子分母是幅度…

ciscn_2019_s_9

ciscn_2019_s_9 Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x8048000) RWX: Has RWX segments32位&#xff0c;啥也没开&#xff0c;开心愉悦写shellcode int pwn() {char s[24]; // [esp8…

【Django笔记】 登录功能

1. post请求 sign/templates/index.html 其中 &#xff1a; <form method"post"> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title></head> <bod…

[Linux] 5.Linux虚拟机和Windows文件共享

一、拖拽 如果安装了VMware Tool可以从Windows直接拖进Linux中共享文件&#xff0c;通过拖拽的方式可以把文件从Linux 传输到Windows 二、 文件共享 需要安装VMware Tool点击添加&#xff0c;选择Windows文件的路径&#xff0c;名称作为Linux访问的路径 cd什么都不加&#xff…

进阶指针(四)—— 加强对指针,数组名,sizeof,strlen的理解

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;进阶C语言 &#x1f388;推荐相关博文&#xff1a;进阶C语言&#xff08;一&#xff09;、进阶C语言&#xff08;二&#xff09;、进阶C语言&#xff08;三&#xff09; 进阶指针&#xff08;四&#x…

【数据结构】链表与LinkedList

作者主页&#xff1a;paper jie 的博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精…

Nodejs搭建本地http服务器,通过【内网穿透】实现远程访问

目录 前言 1.Node.js下载 2.创建node服务器 3.打开node服务器 4.内网穿透实现远程访问 4.1安装cpolar 4.2创建隧道&#xff08;网站&#xff09; 4.3固定公网地址 前言 今天我们学习一个有意思的东西&#xff0c;那就是内网穿透。在此之前我有一些关于html、CSS和Java…

c++---I/o操作

5、文件操作 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放。 我们可以通过文件将数据持久化 C中对文件操作需要包含头文件 <fstream> 文件类型分为两种&#xff1a; 文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文…

机器学习之SGD, Batch, and Mini Batch的简单介绍

文章目录 总述SGD(Stochastic Gradient Descent)(随机梯度下降&#xff09;Batch &#xff08;批量&#xff09;mini Batch (迷你批量&#xff09; 总述 SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案&#xff0c;即∆wij。 SGD(Stochastic Gradi…

三等分功分器[波导]设计详细教程

想必大家通过阅读相关文献可以发现三等分实现可以有很多不同的方法&#xff0c;这里采用的是先不等分再等分的方式&#xff0c;仅供参考。 主要指标 中心频率为280GHz&#xff0c;采用WR-3频段的标准波导&#xff0c;将2:1不等功率分配耦合器与3dB等功率分配耦合器级联&#…

JUC——并发编程—第三部分

四大函数式接口(必须掌握) 函数式接口:只有一个方法的接口 FunctionalInterface public interface Runnable {public abstract void run(); }//简化编程模型&#xff0c;在新版本的框架底层大量应用 //foreach(消费者的函数式接口)Function接口(函数型接口) /*** Function 函…

中睿天下参展2023海军工程大学首届网络安全文化周并发表主题演讲

2023年9月3日至9月8日&#xff0c;海军工程大学首届网络安全文化周活动于武汉举办。本次活动以“守护蓝疆网安有我”为主题&#xff0c;设有特邀嘉宾前沿讲座、网络安全圆桌交流论坛、网络安全科技展、网络对抗实战竞技、网络安全保密视频创作和信息安全知识竞赛等系列活动。 海…

聊聊网络编程中的粘包、拆包、半包、编解码

聊聊网络编程中的粘包、拆包、半包、编解码 文章目录 1. 引言2. 粘包、拆包、半包现象解析2.1. 粘包现象2.2. 拆包现象2.3. 半包现象 3. 解决粘包、拆包、半包问题的方法4. netty 是如何解决解决粘包、拆包、半包问题参考文档 1. 引言 在网络编程中&#xff0c;TCP/IP 协议是…

uboot启动流程-涉及s_init汇编函数

一. uboot启动涉及函数 本文简单分析uboot启动流程中&#xff0c;涉及的汇编函数&#xff1a; lowlevel_init函数调用的函数&#xff1a;s_init 函数 save_boot_params_ret函数调用的函数&#xff1a; _main 函数 本文继上一篇文章的学习&#xff0c;地址如下&#xff1a;…

第七章 查找 八、B树

目录 一、定义 二、B树的核心特性 1、B树各个结点的子树数和关键字数 2、子树高度 3、关键字的值 4、B树高度 三、B树的插入 四、B树的删除 一、定义 B树&#xff0c;又称多路平衡查找树&#xff0c;B树中所有结点的孩子个数的最大值称为B树的阶&#xff0c;通常用m表示…

Apache Commons Pool2 池化技术

对象池是一种设计模式&#xff0c;用于管理和重用对象&#xff0c;以提高性能和资源利用率。对象池的概念在许多应用程序中都有广泛应用&#xff0c;特别是在需要频繁创建和销毁对象的情况下&#xff0c;例如数据库连接、线程、HTTP连接等 对象池通过预先创建一组对象并将它们存…

MPLS虚拟专用网--跨域OptionC方案

OptionC方案 前面介绍的两种方式都能够满足跨域VPN的组网需求,但这两种方式也都需要ASBR参与VPN-IPv4路由的维护和发布。当每个AS都有大量的VPN路由需要交换时,ASBR就很可能阻碍网络进一步的扩展。 解决上述问题的方案是:ASBR不维护或发布VPN-IPv4路由,PE之间直接交换VPN-…