整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CSS的样式冲突,一个细节的知识点,回答了程序员们多

CSS的样式冲突,一个细节的知识点,回答了程序员们多年的疑虑

技术等级】初级

本文重点讲解CSS技术中一些与HTML标记的属性相冲突的设置、CSS自身之间相冲突的设置应该如何解决。本文属于前端开发的初级教程,适合于刚刚开始接触CSS技术的学习者。

在CSS技术中,某些属性与HTML标记特定的属性含义是相同或相似的。也就是说,CSS的某些属性利用HTML自带标记的属性也是可以实现的。那么,如果代码中出现了这样的冲突该如何解决呢?

首先,我们来看一看CSS的某些属性与哪些HTML标记的属性相同或相似。

  • font-family属性类似于<font></font>标记对的face属性。

  • font-size属性类似于<font></font>标记对的size属性。

  • color属性类似于<font></font>标记对的color属性。

  • text-align属性类似于<p></p>标记对的align属性。

  • font-weight:bold; 类似于<strong></strong>标记对。

  • font-style:italic; 类似于<em></em>标记对。

  • text-decoration:underline; 类似于<u></u>标记对。

  • background-color属性用于整个页面时类似于<body></body>标记对的bgcolor属性。

  • list-style-type属性类似于<ul></ul>和<ol></ol>标记对的type属性。

  • ……

再或者,如果对于相同的CSS属性作用在同一个对象上,而设置了不同的取值。这种样式内部发生的冲突又该如何解决呢?

例如:让我们一块看下列代码。

代码分析:上述代码中<div>标记对中的“小海前端 头条号”字样应该是遵循style属性规定的#ff5857的颜色样式呢,还是应该遵循名为co的类所规定的#5857ff的颜色样式呢?

上面描述的种种冲突情况,在书写代码时应该如何理解呢?本文小海老师带领大家一同学习CSS的冲突解决方案。

对于上述冲突,我们给出了三个CSS样式使用时的规则。

规则一:样式叠加。

当多个不同的样式作用于同一元素时,若样式之间互不矛盾,则所有样式均生效。

例如下列代码:

代码分析:上述代码中,“示例文本”字样显示为14px大小红色文字。“第二行示例文本”字样显示为14px大小黑色文字(默认字色)。

规则二:样式优先。

HTMLCSS发生矛盾时,则忽略HTML效果,以CSS样式为先。

例如下列代码:

代码分析上述代码中,<font></font>标记对中color属性设置为红色(#ff0000),style属性设置为青色(#00ffff)。则“示例文本”字样显示为青色。

规则三:距离优先。

当多个不同的样式作用于同一元素时,若样式之间互相矛盾,则以距离元素较近的样式为先。

例如下列代码:

代码分析:上述代码中,“网页开发技术”字样显示为14px大小。“前台设计”字样显示为16px大小。这种样式显示遵循了距离优先的规则。

由于“距离优先”原则的存在,因此样式的三种结合方式有以下的优先级:内联样式 > 内部样式表 >外部样式表

文章预告

下一次小海老师会为大家讲解CSS中有关文本段落的属性,结合前面HTML的内容,可以对页面中的段落进行更为细致的调整。千万不要错过哦。

小海声明

如果大家希望得到更加全面的关于HTML和CSS技术讲解的内容,可以私信我,我会免费将小海老师自己编写的HTML和CSS的PDF教材发给你,帮助你在前端开发的道路上阔步前行。

作为Python Web 框架,Django 需要一种很便利的方法以动态地生成HTML,最常见的做法是使用模板。模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。

Django 项目可以配置一个或多个模板引擎。Django 的模板系统自带内建的后台-称为Django 模板语言(DTL),以及另外一种流行的Jinja2。其他的模板语言的后端,可查找第三方库。


问题

在使用layui的时候,需要使用到layui数据表格的模板,这时候就遇到{{}}转义的问题。在django中{{}}是获取变量值,这就跟前段的layui的模板冲突了,这时候就需要django不转译指定的内容。

<table class="layui-table" lay-data="{width: 'auto', height:'auto', url:'/auto_tasks/task_view/', page:true, id:'autotaskviews'}"

lay-filter="autotaskviews_table" lay-size="xm">

<thead>

<tr>

<th lay-data="{field:'id',sort: true, fixed: true,width:'80'}">编号</th>

<th lay-data="{field:'name', sort: true,width: '180'}">任务名称</th>

<th lay-data="{field:'task_type' , sort: true,width: 140}">任务类型</th>

<th lay-data="{field:'task_custom_parameter' ,sort: true,width: '200'}">自定义参数</th>

<th lay-data="{field:'username' ,sort: true,width: '120'}">创建者</th>

<th lay-data="{field:'status_label' ,sort: true,width: '100'}">执行状态</th>

<th lay-data="{field:'create_time' ,sort: true,width: '190'}">创建时间</th>

<th lay-data="{field:'exec_time' ,sort: true,width: '190'}">执行时间</th>

<th lay-data="{field:'detail_result' ,sort: true,width: '200'}">执行结果</th>

<th lay-data="{fixed: 'right', align:'center',width: '180', toolbar: '#barDemo' }">查看详情</th>

</tr>

</thead>

</table>

<script type="text/html" id="barDemo"> {{# if(d.status=='Y'){ }}

<button class="layui-btn layui-btn-disabled layui-btn-xs">已执行</button>

{{# } else if(d.status=='N') { }}

<a class="layui-btn layui-btn-xs" lay-event="exec">执行</a>

{{# } else if(d.status=='R') { }}

<span class="layui-badge layui-bg-orange layui-btn-xs">执行中</span>

{{# } }}

<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>

</script>

DEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。

俗话说:"工欲善其事必先利其器",今天准备和大家一起分享一下实际工作中能提升幸福感和工作效率的IDEA插件。

废话不多说,let's go !!!

1Alibaba Java Coding Guidelines

【阿里巴巴代码规范检查插件】

在你需要检查的代码上面,点击右键,选择编码规约扫描

将会出现如下所示的检查结果,并会给出编码规范和提示:

2GsonFormat

【jsonToBean】

在平时的开发中,将json转为Bean

3A8Translation

【翻译的插件】

选中你要翻译的汉语或英文,点击鼠标右键,选择Translate, (快捷键是Alt+T)就会实现翻译,不用再去切换屏幕使用翻译软件翻译了。

4Maven Helper

【分析依赖冲突的插件】

此插件可用来方便显示maven的依赖树,和显示冲突,在我们梳理依赖时帮助很大。

5Free Mybatis plugin

【增强idea对mybatis支持的插件】

生成mapper xml文件 快速从代码跳转到mapper及从mapper返回代码 mybatis自动补全及语法错误提示 集成mybatis generator gui界面 这个插件超级实用,可以从mapper接口跳转到mybatis的xml文件中,还能找到对应地方

6Grep Console

【日志高亮显示插件】

可以Ctrl + Alt +S Other Settings进行配色(颜色参考请搜索:电脑最护眼的色彩、显示屏亮度亦如此)

7Lombok

当我们创建一个实体时,通常对每个字段去生成GET/SET方法,但是万一后面需要增加或者减少字段时,又要重新的去生成GET/SET方法,非常麻烦。可以通过该插件,无需再写那么多冗余的get/set代码。

注意:需要在pom引入依赖

<!--lombok用来简化实体类:需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

8Nyan progress bar

基于Idea使用的漂亮进度条。把你的加载进度条全都变成彩虹和猫咪

9FindBugs-IDEA

【Bug检查插件】

在文件上或文件里面点击鼠标右键,选择FingBugs

简单的bug能给你快速找回来,什么NPE啥的,小儿科!推荐!!(嗓门大就说一遍)

10Key Promoter X

你还在为记不住快捷键烦恼吗,Key Promoter X可以帮助你快速记住常用的快捷键。当你在idea中用鼠标点击菜单,它可以显示对应的快捷键以及点击次数。使用一段时间后有助于过渡到更快、无鼠标的开发。

11JavaDoc

在项目中经常要求写代码注释,否则不能通过代码门禁,JavaDoc工具可以一键生成注释。

插件安装成功后在菜单栏 code -> JavaDocs可以找到

自动生成注释效果如下:

12ignore

项目开发中通常会使用到git进行版本管理,在提交代码时经常有人将本地的不必要的文件提交到代码仓库中,使用.ignore插件可以很好解决这个问题。插件安装完成后会在项目中生成一个.ignore文件,编辑该文件忽略一些动态生成的文件,如class文件,maven的target目录等。

13RainbowBrackets

彩虹括号,代码中有多个括号会显示不同的颜色。

14Activate-power-mode

在敲代码时有抖动酷炫的特效,非常适合给前端小姐姐表演特技。(坏笑)

15CodeGlance

16GenerateAllSetter

  • 通过alt+enter对变量类生成对类的所有setter方法的调用
  • 当两个对象具有相同的字段时生成一个转换器
  • 当returnType为List Set Map时生成默认值
  • 在所有getter方法上生成对assertThat的调用

17RestfulToolkit

  • 根据 URL 直接跳转到对应的方法定义 ( 快捷键搜索 Ctrl + Alt + N 或者 Ctrl + \ ); —这个个人感觉非常好用,和Ctrl + F一样重要。
  • 提供了一个 Services tree 的显示窗口;
  • 一个简单的 http 请求工具;
  • 在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数…
  • 其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。

18JRebel

热门部署插件,让你在修改完代码后,不用再重新启动,很实用!但是,不是免费的,需要大家发挥下聪明才智自行百度破解!

19Json Parser

厌倦了打开浏览器格式化和验证JSON?为什么不安装JSON解析器并在IDE中使用离线支持呢?JSON解析器是一个用于验证和格式化JSON字符串的轻量级插件。

20aiXcode & codota

aiXcoder是一个强大的代码完成器和代码搜索引擎,基于最新的深度学习技术。它有可能向您推荐一整套代码,这将帮助您更快地编写代码。aiXcoder还提供了一个代码搜索引擎,以帮助您在GitHub上搜索API用例。

类似功能的插件还有codota,codota基于数百万个开源Java程序和您的上下文来完成代码行,从而帮助您以更少的错误更快地进行编码。新版本的codota提供以下功能:

  • 全线AI自动完成
  • 内联和相关代码示例
  • 根据用户自己的编码实践进行编码建议
  • 不用担心你的代码会被公开。codota不会将你的代码发送到codota服务器,它只会从当前编辑的文件中发送最少的上下文信息,从而使codota能够根据你当前的本地范围进行预测。

比如我想知道list.stream.map(…)方法的参考使用,只需要光标定位在map上,然后右键选择菜单“Get relevant examples”或者使用快捷键“Ctrl + Shift + O”就可以快速搜索出来很多示例,非常方便。

来源:blog.csdn.net/CSDN_SAVIOR/article/details/122505538