当前位置: 首页 > news >正文

phpcms可以做哪些网站/广告投放数据分析

phpcms可以做哪些网站,广告投放数据分析,一些网站只能在微信打开怎么做的,网站建设都需要哪些材料CSS 介绍 层叠样式表(英语:Cascading Style Sheets, 缩写:CSS; 又叫串样式列表,级联样式表,串接样式表,阶层式样式表)是一种用来为结构化文档(HTML或XML应用)添加样式(…

CSS

介绍

层叠样式表(英语:Cascading Style Sheets, 缩写:CSS; 又叫串样式列表,级联样式表,串接样式表,阶层式样式表)是一种用来为结构化文档(HTML或XML应用)添加样式(字体,间距和颜色)的计算机语言,由W3C维护。CSS3是目前最新的版本,已经被大多的浏览器所支持。(部分属性在低版本或者IE浏览器中存在兼容性问题)。

CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力(通过修改添加类名或属性或者是id名,来更换样式表,切换样式)。

样式表

1. 用户代理样式表**(User - Agent Styles)**| 默认样式表

  • 定义:这是浏览器默认提供的样式。浏览器有自己内置的一套样式规则,用于在没有其他样式定义的情况下呈现 HTML 元素。这些样式确保了网页在最基本的层面上具有一定的可读性和可用性。不同的浏览器可能有不同的用户代理样式,不过它们通常都遵循一定的标准,如 HTML 和 CSS 规范。
  • 示例:例如,在大多数浏览器中,<h1>标签默认会有较大的字号和加粗的字体样式,<ul>(无序列表)标签会有项目符号的样式。这些默认样式是用户代理样式的体现,还有一些内外边距,我们在开发过程中常常会使用通配选择器直接将这部分样式清除掉,以保证我们后续的布局更加清晰。
  • 应用场景:在网页没有定义任何作者样式时,用户代理样式发挥作用,保证网页元素能以一种基本合理的方式显示。同时,在开发过程中,开发者也需要考虑用户代理样式,避免自己定义的样式与默认样式产生冲突或不符合预期的叠加效果。

用户样式表(User Styles)

  • 定义:这是用户自己定义的样式,用于覆盖网页原有的样式。用户可以通过浏览器扩展或者在浏览器的用户样式设置选项中添加自定义的 CSS 规则。
内联样式
  • 定义:在标签内部使用style属性来定义样式,这种样式只对当前的标签生效,优先级最高。
  • 特点: 这种样式会与html结构紧密耦合在一起,过多使用会造成html代码变得臃肿且难以维护,实际开发中应该减少使用内联样式。
内部样式表
  • 定义:内部样式表是在html文档中的标签内部,使用
外部样式表
  • 定义: 外部样式表是将样式定义在一个独立的.css文件中,然后通过html文档中的标签将该样式表链接到html文档中.这种方式可以让多个html页面共享同一种样式。也是开发中最常用的,便于维护。
  • 使用:可以定义公共样式在需要的地方直接引入就行。

选择器

介绍

CSS由多组“规则”组成。每个规则由“选择器”(selector)、“属性”(property)和“值”(value)组成:

  • 选择器(Selector):多个选择器可以半角逗号,隔开。
  • 属性(property):CSS1、CSS2、CSS3规定了许多的属性,目的在控制选择器的样式。
  • 值(value):指属性接受的设置值,多个关键字时大都以空格隔开。

属性和值之间用半角冒号:隔开,属性和值合称为“特性”。多个特性间用;隔开,最后用大括号{ }括起来。

CSS里现在共有5种基本选择器(Basic Selectors)和2种伪选择器。不同选择器的优先级别和运作性能往往存在差异。

基本选择器

  • 标签选择器(h1、p等)——elementname
  • 类别选择器(class)——.elementname
  • ID选择器(ID)——#elementname
  • 万用选择器——* ns|* *|*(ns表示命名空间,会选中这个命名空间里的所有元素)
  • 属性选择器(也翻译为“通配符选择器”)——[attribute]
属性选择器

属性选择器允许用户自定义属性名称,而不仅仅限于id,class属性。属性选择器共有7种。

代码说明
[attribute]元素有attribute的属性。
[attribute="value"]属性attribute里是value
[attribute~="value"]属性attribute里使用空白分开的字符串里其中一个是value
`[attribute=“value”]`
[attribute^="value"]属性attribute里最前的是value
[attribute$="value"]属性attribute里最后的是value
[attribute*="value"]属性attribute里有value出现过至少一次
组合选择器

CSS里现在共有4种组合选择符(Combinators)

符号说明
A > B子代选择器,选择A下一层的元素B(只会选择下一层再往下将不会被选择)
A ~ B兄弟选择器,选择与A同层的元素B
A + B相邻兄弟选择器,选择与A相邻的元素B(不能被任何元素相隔)
A B后代选择器,包含选择符(所有后代为b的都会被选择不管嵌套层数)
其他选择器

CSS中还提供了伪元素选择器和虚拟类别选择器(并不是css的术语,常用伪类选择器实现虚拟类别的功能),但用途单一一些,常与其它选择器组合在一起使用。伪元素的元素主要用于选取与另一个选择器选中对象临近的元素。虚拟类别选择器用于选中处于特定状态或具有特定性质的元素。

伪元素选择器(Pseudo-elements)

伪元素选择器用于选择元素的特定部分,而不是选择元素本身。它们通常用于在不添加额外HTML标记的情况下,对元素的特定部分进行样式化。伪元素选择器以两个冒号(::)开始。

常见的伪元素选择器包括:

  • ::before:在元素的内容前面插入内容。
  • ::after:在元素的内容后面插入内容。
  • ::first-line:选择元素的第一行。
  • ::first-letter:选择元素的第一个字母。
  • ::selection:选择用户选中的元素部分。
伪类选择器(Pseudo-classes)

伪类选择器用于选择元素的不同状态或基于特定条件的元素。它们以单个冒号(:)开始。

常见的伪类选择器包括:

  • :hover:当鼠标悬停在元素上时。
  • :focus:当元素获得焦点时。
  • :nth-child():选择其父元素的特定子元素。
  • :not():选择不符合指定条件的元素。
  • :checked:选择被选中的表单元素。

引入CSS规则的多种方式及其层叠性

介绍

CSS可以有多种引入方式,一个网页可以引入多个CSS文件,同一种CSS规则可以被反复多次添加。这使得CSS的使用方式非常灵活,但也会频繁地出现规则冲突。同时对一个网页元素设定无法并存的2种样式时,就会引起冲突。CSS的特色之一就是其解决规则冲突的方案。CSS的规则冲突可以分为不同来源之间的规则冲突和同一来源内部的规则冲突。CSS分层次、立体化的比较不同规则的优先级的方式,就是所谓层叠性(cascading)的体现。

来源多样

  • 作者样式

    • 作者可以在他的HTML文件中确定一个外来的、独立的CSS文件(外部样式表),其优先级最低
    • 作者可以将CSS信息包含在HTML文件内(内部样式表)
    • 作者可以在一个HTML指令内结合CSS指令(内联样式),其优先级最高。一般这样做是为了在特殊情况下,把上面来源的CSS抵消掉
  • 客户端自定义样式(client-side style sheet)

    • 浏览网页的用户可以自己在本地计算机上自己写1个CSS文件,然后就可以在浏览器内通过设置好特定选项,来加载自己的CSS文件。这个CSS文件可以用在所有的HTML文件上。当网页作者没有设定某项规则,但存在对应的用户自定义规则时,用户的规则就会起作用。假如作者的CSS文件与读者的相冲突,浏览器会采用作者的规则。如果读者有特殊要求,可以通过在自定义规则末尾添加!important提升自定义规则的显示优先权。(网页作者也可以使用!important给规则提升权限,但是优先级别比不过由用户写的!important声明,!important对于网页作者的意义仅在于网页开发阶段的规则冲突测试)
  • 浏览器样式

    • 假如外部没有特别指定一个样式的话,一般浏览器自己有一个内在的样式。由于不同浏览器的默认样式并不一致,所以讲究美观的网页的设计者一般喜欢去掉这个默认的样式。

规则特殊性

某个规则的特殊性也常被称为该规则的具体程度。规则特殊性的高低次序如下(依次递减):

  1. 行内样式
  2. ID选择器
  3. class选择器
  4. 标签选择器
  5. 通用选择器(也就是通配符选择器,用得少)
特殊性优先原则

特殊性优先原则是最重要的优先级比较规则。当引起冲突的2种规则的特殊性存在差异时(例如一个是通过ID选择器指定样式,另一个是通过class选择器指定样式),引擎将优先采用特殊性更高的样式。规则的特殊性的比较是最优先的。如果能直接判断出特殊性的差异,就无需考虑其它规则了。

不同来源的规则优先性

不同来源的规则之间的优先原则是第二重要的。当规则来源相同时(同为外部样式或同为内部样式),下一步就需要比较不同类型来源的优先级别。

总地来说,记住“行内样式优先于内部样式,内部样式又优先于外部样式”即可应对多数常见的情形。

像网页浏览者自定义样式表的优先级别如何,只有浏览器的设计者才需要考虑,与网页设计者的关系不大。

如果考虑有可能出现的更复杂的来源冲突,内容就比较多了。

但一般在写样式时,应尽可能避免这些复杂情形的出现。具体来说,一般情形下的采纳样式效果的优先级顺序为:

  1. 行内样式
  2. 内部样式
  3. 在HTML中通过<link>标签直接引入的外部样式表
  4. 在CSS中通过@import语句间接引入的外部样式表
  5. 浏览网页的用户自己定义的样式表(需要手动加载)
  6. 浏览器默认的样式(如标题有默认大小、段落之间有默认间距等,不同浏览器的默认样式不完全一样)

CSS中还有用!important修饰的重要性声明。如果计入重要性声明,那么在以上规则的最前面还需要加上2条规则:

  1. 用户从本地加载的重要自定义样式
  2. 网页设计者设定的重要样式

权重分数比较机制

有时还会遇到选择器优先级无法直接判断,而且规则的来源也相同的情形。如果网页设计者很少使用层次比较复杂的选择器(比如多级的后代选择器),那么必须比较权重的情况一般不会遇到(一般要么是可以直接根据前面的规则判断出优先性结果,或者是起冲突的2条规则的权重完全一样,只能继续去看后一条比较出现次序的机制)。此时,CSS还有一套分数加权(或者说是分数累积)的机制用于解决此类规则冲突。先列出基本的分值:

  • 1个行内样式占1000分
  • 1个id选择器占100分
  • 1个class选择器占10分
  • 1个标签选择器占1分

组合使用多个基本选择器时,不同选择器的得分会累加到一起。最终得分高的选择器,其指定的样式会胜出

靠后者优先原则

当权重比较仍然不能分出优先级胜负时,最后就是把守关底的“靠后优先”的原则了,也就是后定义的样式优先级较高。如果起冲突的规则来源相同,而且得分也相同,那么最后的冲突解决法则就是看CSS代码出现的先后顺序。后出现的规则会覆盖掉与之优先级相当的先出现的规则。也可称作“后发制人”、“后来者居上”或“后浪推前浪”原则,随便你怎么称呼。这种原则的适用情形很常见,所以此规则也很重要。

视觉格式化模型

介绍

CSS的核心就是视觉格式化模型和属性值的计算。视觉格式化模型包含盒子生成,以及定位,浮动和一些特殊盒子模型,溢出等。CSS 视觉格式化模型(visual formatting model)是用来处理和在视觉媒体上显示文档时使用的计算规则。该模型是 CSS 的基础概念之一

内容

1. 盒子的生成

视觉格式化模型会根据 CSS 盒子模型将文档中的元素转换为一个个盒子,每个盒子的布局由以下因素决定:

  • 盒子的尺寸:精确指定、由约束条件指定或没有指定
  • 盒子的类型:行内盒子(inline)、行内级盒子(inline-level)、原子行内级盒子(atomic inline-level)、块盒子(block)
  • 定位方案(positioning scheme):普通流定位、浮动定位或绝对定位
  • 文档树中的其他元素:即当前盒子的子元素或兄弟元素
  • 视口尺寸与位置
  • 所包含的图片的尺寸
  • 其他的某些外部因素

该模型会根据盒子的包含块(containing block)的边界来渲染盒子。通常,盒子会创建一个包含其后代元素的包含块,但是盒子并不由包含块所限制,当盒子的布局跑到包含块的外面时称为溢出(overflow)

相关文章:

CSS核心(上)

CSS 介绍 层叠样式表&#xff08;英语&#xff1a;Cascading Style Sheets, 缩写:CSS; 又叫串样式列表&#xff0c;级联样式表&#xff0c;串接样式表&#xff0c;阶层式样式表&#xff09;是一种用来为结构化文档&#xff08;HTML或XML应用&#xff09;添加样式&#xff08;…...

深度学习常用损失函数介绍

均方差损失&#xff08;Mean Square Error&#xff0c;MSE&#xff09; 均方误差损失又称为二次损失、L2损失&#xff0c;常用于回归预测任务中。均方误差函数通过计算预测值和实际值之间距离&#xff08;即误差&#xff09;的平方来衡量模型优劣。即预测值和真实值越接近&…...

HarmonyOS-中级(四)

文章目录 Native适配开发三方库的基本使用 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;HarmonyOS专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月09日11点12分 Native适配开发 Node-API HarmonyOS Node-API 是 HarmonyOS 提供的…...

React v19稳定版发布12.5

&#x1f916; 作者简介&#xff1a;水煮白菜王 &#xff0c;一位资深前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧✍。 感谢支持&#x1f495;&#x1f495;&#x1f495; 目…...

【毕业设计选题】深度学习类毕业设计选题参考 开题指导

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光&#xff0c;一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整…...

NanoLog起步笔记-4-Server端的两个线程

nonolog起步笔记-4-Server端的两个线程 Server端的两个线程两个线程的角色与各自的职责RuntimeLogger::compressionThreadMain线程 详细学习一下相关的代码第三个线程第一次出现原位置swip buffer Server端的两个线程 如前所述&#xff0c;nanolog的server端&#xff0c;相对而…...

linux zookeeper安装并服务化

1.版本信息 系统&#xff1a;centos7.6 java版本&#xff1a;java 8(已经安装好) zookeeper版本&#xff1a;3.6.3 2.zookeeper安装并测试 1.上传文件至指定目录并解压 切换至cd downloads 目录下&#xff0c; rz上传文件 解压&#xff1a;tar -zxvf apache-zookeeper-3.…...

很简单,但是很实用。把docker run改写成docker compose。

很简单,但是很实用。把docker run改写成docker compose。 在Docker的世界里,docker run命令是启动容器最直接的方式之一。然而,当项目复杂度增加,涉及多个服务时,管理这些容器和服务之间的依赖关系就会变得繁琐。这时,使用Docker Compose来定义和运行多容器Docker应用就…...

DAMODEL丹摩|丹摩平台:AI时代的开发者福音

本文仅对丹摩平台进行介绍&#xff0c;非广告。 文章目录 1. 丹摩平台简介2. 平台特性2. 1 超友好的用户体验2. 2 资源丰富的GPU覆盖2. 3 强大的性能2. 4 超实惠的价格2. 5 不同目的推荐的配置2. 6 启动环境 3. 快速上手丹摩平台3. 1 创建项目与资源实例3. 2 储存选项3. 3 数据…...

全面解析租赁小程序的功能与优势

内容概要 租赁小程序正在逐渐改变人与物之间的互动方式。通过这些小程序&#xff0c;用户不仅可以轻松找到所需的租赁商品&#xff0c;还能够享受无缝的操作体验。为了给大家一个清晰的了解&#xff0c;下面我们将重点介绍几个核心功能。 建议&#xff1a;在选择租赁小程序时&…...

VRRP的知识点总结及实验

1、VRRP VRRP(Virtual Router Redundancy Protocol&#xff0c;虚拟路由器冗余协议)既能够实现网关的备份&#xff0c;又能解决多个网关之间互相冲突的问题&#xff0c;从而提高网络可靠性。 2、VRRP技术概述&#xff1a; 通过把几台路由设备联合组成一台虚拟的“路由设备”…...

商业银行基于容器云的分布式数据库架构设计与创新实践

导读 本文介绍了某商业银行基于 TiDB 和 Kubernetes(简称 K8s) 构建的云化分布式数据库平台&#xff0c;重点解决了传统私有部署模式下的高成本、低资源利用率及运维复杂等问题。 通过引入 TiDB Operator 自动化管理与容器化技术&#xff0c;银行能够实现多个业务系统的高可用…...

2025计算机毕设选题推荐【30条选题】【基础功能+创新点设计】

✅博主介绍&#xff1a;CSDN毕设辅导博主、CSDN认证 Java领域优质创作者 ✅技术范围&#xff1a;主要包括Java、Vue、Python、爬虫、小程序、安卓app、大数据、机器学习等设计与开发。 ✅主要内容&#xff1a;免费功能设计、开题报告、任务书、功能实现、代码编写、论文编写和…...

SpringBoot+OSS文件(图片))上传

SpringBoot整合OSS实现文件上传 以前,文件上传到本地(服务器,磁盘),文件多,大,会影响服务器性能 如何解决? 使用文件服务器单独存储这些文件,例如商业版–>七牛云存储,阿里云OSS,腾讯云cos等等 也可以自己搭建文件服务器(FastDFS,minio) 0 过程中需要实名认证 … 1 开…...

docker镜像构建企业级示例

华子目录 示例&#xff08;在centos容器中源码编译nginx&#xff08;单介构建&#xff09;&#xff09;包准备为centos容器提供网络源添加企业7的ISO文件 提交为新的centos镜像编写dockerfile文件构建镜像如何优化自己构建的镜像大小多介构建 ldd命令基本用法示例 镜像优化方案…...

【源码】Sharding-JDBC源码分析之SQL中读写分离动态策略、数据库发现规则及DatabaseDiscoverySQLRouter路由的原理

Sharding-JDBC系列 1、Sharding-JDBC分库分表的基本使用 2、Sharding-JDBC分库分表之SpringBoot分片策略 3、Sharding-JDBC分库分表之SpringBoot主从配置 4、SpringBoot集成Sharding-JDBC-5.3.0分库分表 5、SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表 6、【…...

Spark 之 partitons

Listing leaf files and directories 分析其并行化 org.apache.spark.util.HadoopFSUtils sc.parallelize(paths, numParallelism).mapPartitions { pathsEachPartition >val hadoopConf serializableConfiguration.valuepathsEachPartition.map { path >val leafFiles…...

使用Zerotier配置虚拟局域网,踏坑

配置虚拟局域网有多种方式&#xff0c;包括带桌面的和纯网络的。 一、带桌面的&#xff08;不是本次重点&#xff09; 常见工具&#xff1a;向日葵、todesk、anydesk、restDesk 前两者是常见商业工具&#xff0c;anydesk好像很轻&#xff0c;restDesk是开源项目&#xff0c;…...

【优选算法 二分查找】二分查找算法模板详解:二分查找 & 在排序数组中查找元素的第一个和最后一个位置

二分查找 题目描述 题目解析 暴力解法 我们可以从左往右遍历一次数组&#xff0c;如果存在 target 则返回数组的下标&#xff0c;否则返回 -1&#xff1b; 时间复杂度 O(N)&#xff0c;因为没有利用数组有序的特点&#xff0c;每次比较只能舍弃一个要比较的数&…...

gitlab 生成并设置 ssh key

一、介绍 &#x1f3af; 本文主要介绍 SSH Key 的生成方法&#xff0c;以及如何在GitLab上添加SSH Key。GitLab 使用SSH协议与Git 进行安全通信。当您使用 SSH密钥 对 GitLab远程服务器进行身份验证时&#xff0c;您不需要每次都提供您的用户名和密码。SSH使用两个密钥&#x…...

计算机视觉在科学研究(数字化)中的实际应用

计算机视觉是一种利用计算机技术来解析和理解图像和视频的方法。.随着计算机技术的不断发展&#xff0c;计算机视觉被广泛应用于科学研究领域&#xff0c;为科学家提供了无限的可能。 一、生命科学领域 在生命科学领域&#xff0c;计算机视觉被广泛用于图像识别、分类和测量等…...

移动应用开发课程第六次实验:为实验2添加登陆页面,用SQList存储好友基本信息

1、在Android Studio中&#xff0c;请在第二次实验成果的基础上完成以下实验要求。 向右滑动 请添加登录页面。在登录页面中&#xff0c;如果用户输入的用户名和密码正确&#xff0c;则跳转至如上图所示的好友列表&#xff0c;并记录用户的登录信息&#xff0c;在用户第一次登…...

nextjs增加系统路径前缀(basePath)适配方案

在 Next.js 中&#xff0c;路由是通过文件夹结构来定义的&#xff0c;使用类似于 History 模式的 URL 结构。所以如果想通过nginx来代理一个nextjs开发的系统&#xff0c; 除非直接使用跟路径/来进行代理&#xff0c;否则代理将非常麻烦&#xff0c;这时添加basePath就非常有必…...

嵌入式蓝桥杯学习拓展 LCD翻转显示

通过配置SS和GS两个标志位&#xff0c;实现扫描方向的切换。 将lcd.c的REG_932X_Init函数进行部分修改。 将LCD_WriteReg(R1, 0x0000);修改为LCD_WriteReg(R1,0x0100); 将LCD_WriteReg(R96, 0x2700); 修改为LCD_WriteReg(R96, 0xA700); void REG_932X_Init1(void) {LCD_Wr…...

学习threejs,实现配合使用WebWorker

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️WebWorker web端多线程 二、…...

TDengine 新功能 复合主键

1. 简介 从 TDengine 3.3.0.0 版本之后&#xff0c;新增了复合主键的功能。 TDengine 原来的时间列是不允许有重复时间戳的&#xff0c;有了复合主键功能后&#xff0c;时间列即允许有重复&#xff0c;重复后的时间戳按紧跟其后第二列主键列的值来确定唯一性。 此功能的常用…...

JVM 面试题

Java 虚拟机&#xff08;JVM&#xff09;是运行 Java 程序的引擎&#xff0c;它是 Java 语言 “一次编译&#xff0c;处处运行” 的核心技术。JVM 的主要任务是将 Java 字节码&#xff08;Bytecode&#xff09;解释成机器码并执行&#xff0c;负责内存管理、线程管理、垃圾回收…...

组件上传图片不回显问题

import { Plus } from "element-plus/icons-vue"; // 图片上传 const img_add ref([]); function httpRequest_add(option) {let dataForm new FormData();dataForm.append("file", option.file);dataForm.append("id", user.data.id);axios({…...

【JavaWeb后端学习笔记】Spring AOP面向切面编程

AOP 1、Spring AOP概述2、SpringAOP快速入门3、SpringAOP核心概念4、通知类型5、通知顺序6、切入点表达式6.1 execution方式6.2 annotation方式 7、连接点 1、Spring AOP概述 AOP&#xff1a;Aspect Oriented Programming&#xff0c;面向特定方法编程。 AOP是通过动态代理技术…...

6.584-Lab5B

6.584-Lab5B Reference CodeReference BlogHomeworkMyself Code Sharded Key/Value Service 梗概 这个图是我从上面参考blog中拿来的&#xff0c;觉得做的不错&#xff0c;借助这张图来讲解一下需要一个什么样的 Service。 ShardCtrler Client&#xff1a; 接收来自客户发出的命…...