css语言中class_CSS可能成为所有人中最难的语言的5个原因

网站可以建立在多种网络语言上,例如HTML,CSS,JavaScript和PHP。 在这些语言中,我们可能都同意CSS是最简单的语言。 CSS通过一种简单的方式定义了网站布局,颜色,大小和版式。 它很简单, 不需要使用逻辑或条件函数。

但是,您可能会惊讶地发现,实际上CSS可能是最难的语言,并且在某些情况下非常麻烦 。 怎么会这样 好吧,这是一些原因。

1.无错误报告

每种网络语言都遵循特定的代码编写规则。 在CSS中编写样式规则时,它以选择器的名称(通常是类,id,属性选择器)开始,然后是大括号,然后是大括号内的样式声明,并以分号结尾。

.class {
	color: #fff;
	background-color: #000;
}

某些网络语言严格遵守规则,否则会返回错误,但不会返回CSS。 CSS不输出错误。 您可能无意中删除了分号或大括号,或者将选择器命名为错误–布局中断

在PHP中,您将被告知错误的原因,发生的位置以及更快速地修复它。 在CSS中,即使跨多个具有数千行代码CSS文件,您也可以自己完成工作。

2.没有变量

JavaScript和PHP允许您将值存储在变量中。 拥有变量可以节省时间,并且可以使代码更易于管理。 您可以简单地更改变量中的值,而无需在行中进行拖曳即可进行更改。

不幸的是,CSS没有变量。 我知道我们之前已经讨论过CSS变量 ,但是它仍然不适用。

在过去,大多数网页设计师通常会执行以下操作来管理配色方案。

/*======= color scheme ==========*/
primary              #000
secondary            #ccc
text           	     #333
hover           	 #aaa

但是,这种方法在实现上需要额外的纪律,并且在使用查找/替换更改颜色时需要小心,因为您可能会意外擦掉不应该替换的颜色。

3.浏览器兼容性的噩梦

浏览器兼容性是CSS中最大的问题,在某些情况下,这是Web设计人员的噩梦。 尽管W3C发布了标准,但浏览器供应商在实现CSS规范方面却有所不同。 这就是为什么诸如CanIUse.com之类的网站存在的原因-查看某个浏览器版本或下一浏览器版本是否支持某些CSS功能。

当需要支持较旧的浏览器(例如IE6和IE7)时(通常是根据客户的需求),我们可能最终不得不创建多个文件并通过条件语句提供服务,然后进行大量CSS hack处理以使网站看起来一致以及在更现代的浏览器上查看的类似内容。 归根结底,问题#1将使我们陷入这场噩梦。

4. CSS特异性

CSS选择器具有不同级别的权重/特性。 让我们看一下这个例子:

p {
	color: #000;
}
p {
	color: #333;
}

如上所示,当两个具有相同特定性的选择器保持相同的样式时,随后出现的选择器将覆盖其前身。 但是,当我们添加类选择器时,请说.paragraph ,就像这样。

p.paragraph {
	color: #000;
}
p {
	color: #333;
}

…不管其位置如何,分配给paragraph类的paragraph将具有#000颜色,因为它更加具体。

坦白说,CSS的特殊性确实令人困惑。 定义样式规则时,您需要细心。 可能存在一个具有较高特异性的选择器,该选择器会覆盖较不特定的选择器,从而使您在查找罪魁祸首之前先查找了数小时。

5. CSS与您的客户端

CSS定义了网站的布局,颜色和大小,并与网站的外观 紧密 相关 。 问题就在这里–设计是主观的。 你的客户可能对“看”不同的观点,并可能会要求你去与1px今天,和5px第二天。 如果您正在与地狱客户打交道,那么您注定要失败。

! 与这样的客户打交道时,把头砸在墙上就像在公园里散步。

结语

CSS可能很简单并且相对容易学习。 但是, 我们需要纪律严明和一致,以便变得更易于管理。 您在使用CSS时遇到问题吗? 在下面与我们分享。


翻译自: https://www.hongkiat.com/blog/css-is-the-hardest-language/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值