您的位置 首页 > 系统更新

css代码格式化工具_使用css来格式化网页,共有三种方式

1.css注释写法正确的是

2.css样式优先级高低排列?

3.Brackets 编辑器有哪些有用的插件

4.Dreamweer中怎么把项目列表前面的那些点去掉?

5.Normalize.css 与传统的 CSS Reset 有哪些区别

6.div怎样才能覆盖div上面的内容?

css代码格式化工具_使用css来格式化网页,共有三种方式

小程序

第一个web项目-微信小程序后端开发

第一个web项目-微信小程序后端开发

前言

需求分析

团队分工

总体设计

开发工具及编码实现

小程序前端

后端

数据库

接口代码

管理系统前端1.0

管理系统前端2.0

测试

后端本地测试

前后端联合测试

部署

总结

第一个web项目-微信小程序后端开发

前言

去年暑一个偶然的机会我和几位同学加入了学院一位老师主持的教改项目,需求是开发一个基于SPOC与翻转课堂的计算机组成原理课程的学习(类似慕课、知到),后来经过讨论决定降低难度,先做一个微信小程序,附带一个后台管理系统,于是我的第一个web项目就开始了~

需求分析

这里简单介绍下SPOC和翻转课堂的意思

翻转课堂

“翻转课堂”(Flipping Classroom)是一种颠覆传统教学由“课堂授课听讲 + 课后作业练习”转变为“课前自主学习 + 课堂协作探究”的新型教学模式。

SPOC

SPOC(Small Private Online Course)一般被译为小规模限制性在线课程或者小规模私有型网络课程,音译为“私播课”。

这次项目的需求是开发一个学习类型的小程序,用户分为学生和教师,其中学生可以观看、课件、动画,完成作业、考试以及发布评论、点赞、回复,而教师可以上传教学、课件、动画和发布作业、考试、通知,以及查看学生的学习情况,也可以查看评论回复,及时解答学生的疑惑。

团队分工

团队一共有四个人,总体工作分为产品设计、前端开发、后端开发三部分,然后每部分由两人负责。其中我是负责后端开发的,同时兼任项目负责人(其实也没有听上去那么高大上,只是需要承担更多决策、协调、沟通的角色)。

总体设计

这里分为小程序和管理系统

首先是小程序,放几张使用墨刀制作的原型图,这里多说两句,市面上的小程序基本都是微信授权直接登录,最多绑定手机号,我们这个由于要统计学生的学习情况才设置了注册和登录功能

至于管理系统,由于是10月份才开始做的,而且是我和另一位做后端的同学负责的,时间比较紧,我们作为前端小白没有十分系统的方法去做开发,只是大概确定了需要做哪些模块,每个模块对哪些表的增删改查,这里原型图就不放了(较简陋)

开发工具及编码实现

小程序前端

据我了解,做前端的同学先去微信公众平台注册账号,然后做一些开发设置,具体步骤自行百度。前端用的是微信开发者工具,有不会的基本上在微信开放文档都可以找到,包括许多实用的API。

后端

这里分为数据库、接口代码两部分

数据库

用的是mysql数据库,之前是跟着学堂在线的一个小程序入门教程做的,它推荐的本地开发环境是phpstudy,里面集成了php、mysql、apache、FTP、Nginx以及数据库管理工具phpMyAdmin,关于phpMyAdmin使用请看s://blog.csdn.net/u012767761/article/details/78238487

原本的数据库设计得不好,存在较多冗余数据,后来学习了数据库系统这门课,我进行了大改,先确定有哪些实体以及实体之间的联系,然后画er图,最后再建模,通过外码约束大量减少了冗余,也减少了表的数量。

接口代码

教程使用的是php语言,框架是thinkphp5,开发手册看s://.kancloud.cn/manual/thinkphp5/118003,我当时是去b站找学了下php基础语法,然后就去学原生php以及框架如何操作数据库。然后根据业务逻辑开始编码,其实每个接口(或者叫类里面的一个函数)结构都差不多,主要是三部分:接收前端传来的数据、增/删/改/查、返回结果给前端。

顺便说下代码编辑用的是sublime text3,教程看s://blog.csdn.net/sam6/article/details/75333079/,这个不是ide,没有那么多的功能比如调试、运行,单纯是只有编辑、加注释、格式化等等,这里吐槽下自带的格式化代码功能(先选择代码,再Edit -> Line -> Reindent),有点辣鸡。而且如果有语法错误不会像eclipse那样自动检测出来,之前被坑了几次,肉眼找不到的话只能用postman去测试了。

管理系统前端1.0

一开始我们是不知道还要做个管理系统的,以为所有功能都放在小程序,后来老师跟我们讨论聊到这个问题,我们才知道原来还有这回事,其实就是管理系统应该具有一切功能,即对数据库所有表的增删改查,而小程序只需要有些轻量的功能即可,至于上传大容量文件、查看学习情况这些不够轻量的功能全部放在管理系统。好吧,凡事总有第一次,我们就开始学习基本的前端三件套html,css,jascript。

开始做的时候我们希望先实现功能,界面难看点没有太多关系,于是学了部分三件套的基础后又学了ajax技术(因为要与后端通信),这里最开始用的是创建XMLHttpRequest 对象,用open()方法设置请求类型和url,用send()方法发送数据到后端,直到遇到了jquery,后面的请求统一都用$.ajax()了。

接下来又遇到了一个难点,因为基本都用表格来展示数据,那获取数据后如何动态地加入表格呢?查找资料后用每一条数据拼接成由tr标签包含的字符串,然后用jquery获取表格标签后调用end()方法加入表格中。

除此之外,我们想在每行末尾设置按钮进行处理,于是我们end数据的同时也把button标签放入刚才的字符串中,然后给每个button设置id属性,比如用于修改数据的就叫fixi,最后这个i是代表表格第几行,然后添加监听,点击button时获取id,然后查看最后一位是多少从而确定是第几行。

这些做法实现起来是挺繁琐的,而且感觉在重复造轮子,我们也做得有点郁闷,因为每个页面基本都要这样做,但是当时没有那么多的时间精力去学习框架,只是想先实现功能(u1s1,上学期的课多到我快吐了)。

放两张界面图

管理系统前端2.0

之前放,总算有较多空余时间了,我们决定要改下界面,但毕竟自身水平不高,因此需要用一点第三方的东西了。

在跟小程序前端测试了部分功能后,有一天后端同学找到了一个开源的框架然后我们一起看了下说明文档,最后决定:就用它了。

有请layui登场,经典模块化前端框架、低门槛开箱即用。

真正使用之前可以先看看文档s://.layui/doc/,个人感觉上手还是挺快的。layui提供了许多实用的组件包括弹出层、表格、表单、文件上传、流加载等等。

就拿表格来说,之前我们用end动态添加数据,现在直接table.render(),设置好参数就行了;之前我们给button设置id进行处理,现在绑定工具条,直接table.on()就行了;而且之前我们没实现的分页,现在设置分页参数就行了,然后查询数据库时分页读取。

另外,layui提供了一个页面布局的模板,包括logo、用户名、退出按钮、导航栏以及一些css动画。我们要做的就是按照它的模板来,页面元素的样式也参考它提供的。

有了layui的助攻,我们可以将更多注意力放在业务逻辑上,更多关注用户体验。

测试

后端本地测试

工具:postman

使用:打开一个新窗口,选择请求类型,输入url,设置参数,点击send

这种测试我认为是模拟前端发送数据然后运行后端代码,看结果是否正确,属于白盒测试,但是我们不是专业测试人员,目前这样测试不是做得很规范,只能尽可能想到不同的测试用例。

前后端联合测试

由于放回家了没办法面对面,只能借助腾讯会议线上测了。

在部署工作完成之后,一般是我们写好接口代码,然后把url和需要的参数告诉前端同学(这里注意下,微信小程序的请求api只允许s开头的url,而且前端必须在微信公众平台配置好合法域名,不然会报错),前端把这些东西填入那个wx.request的api然后运行,他们会查看返回的数据是否正确,我们会查看数据库的情况,如果没问题会测试多几个数据,都可以的话就到下一个功能,这种方式应该是属于软工讲到的V模型的单元测试。

部署

用的是新浪云,实名认证、学生认证后会送一些云豆(新浪云的计费单位,1RMB=100云豆)

跟着之前说的教程把整个thinkphp项目部署到新浪云,具体步骤看s://.kancloud.cn/cnzxo/sae_thinkphp/1423806

代码

在代码管理那里可上传压缩包,或者在线编辑(跟记事本差不多),改动大的最好在本地写好再贴上去

数据库

开启共享型mysql服务,目前用了phpmyadmin4.9版本,然后建表或导入sql文件

缓存

开启memcached服务,设置容量16MB(省点钱),其实这个服务我不是很清楚干什么的,但如果不打开访问接口时会报致命错误?

文件存储

我们需要保存许多类型的文件包括、课件、动画、作业、考试、头像,因此需要存放在服务端。这里开启storage服务,使用方法看s://.sinacloud/doc/sae/php/storage.html#cyberduck,普通用户配额5个bucket,每个容量10G,然后直接当作本地磁盘那样用就行了,控制台或写代码都可上传文件,上传后获得url,然后就可以通过网络访问,关于新浪云环境下php如何操作看官方文档://apidoc.sina/source-class-sinacloud.sae.Storage.html#。

域名

应用信息可查看二级域名,独立域名需要购买且备案

日志

日志中心可查看每次请求的接口、时间、请求方设备等信息

其它

控制台还可以实时查看流量统计、使用情况,以及消费情况

总结

这个项目我也算前后端都做了一遍,感觉前端不太适合自己,可能是对页面元素样式、用户体验不够敏感,不过必须承认前端是挺有意思的。至于后端是更加注重逻辑,目前我对后端的了解只停留在数据库、网络、部署层面,其实如果用户数量非常多还要考虑高并发的问题,也就要使用多线程、负载均衡、消息队列等技术了,所以还有很多技术需要学习

css注释写法正确的是

用css的浮动属性,float:left;

比如代码如下:

<ul>

<li>内容</li>

<li>内容</li>

<li>内容</li>

</ul>

在css里面控制

li{float:left;}

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

css样式优先级高低排列?

css注释写法正确的是/* 注释语句 */

CSS3的基本语法CSS3的语法非常简单,如下:先写选择器,选择器就是选择页面上的某一个元素。然后在选择器的后面写一个空格,也可以不写空格,但是当你格式化网页代码的时候,选择器后面的空格就会自动被添加上。

然后再写一个大括号对,在键盘上就是字母p后面的两个键。大括号里面就是当前这个选择器的样式的罗列,样式的形式就是—-k:v;k:v;k:v每一个k:v就叫一条样式。k就是属性名,v就是属性的值。

属性名和属性值之间用英文的冒号隔开,冒号后面可以有一个空格,也可以没有空格。每一个k:v和另一个k:v之间,必须用英文的分号隔开。每一个选择器的最后一条样式,是可以不写分号的。如下:CSS的每一条样式,也可以不换行。

当然不换行的写法,也是符合CSS3的语法规范的,只是这样写显得有点凌乱。当然在vscode编辑器里,写css的时候,冒号和分号是自动补全的,基本上也不会出现编写错误。CSS3的注释CSS3的注释是这样写的:

比如:在CSS代码或CSS文件中,按Ctrl+/快捷键,可以快速形成注释。现在我在项目文件夹中创建一个”CSS3基本语法.html”的文件,在里面演示CSS3语法和注释。

Brackets 编辑器有哪些有用的插件

css的优先级顺序是怎样的

当创建的样式表越来越复杂时,一个标签的样式将会受到越来越多的影响,这种影响可能来自周围的标签,也可能来自其自身。下面我们培轮从这两方面去看看CSS样式的优先级。

CSS的继承性

CSS的继承特性指的是应用在一个标签上的那些CSS属性被传到其子标签上。看下面的HTML结构:

div

p/p/div

如果?div?有个属性?color:red,则这个属性将被?p?继承,即?p?也拥有属性?color:red。

由上可见,当网页比较复杂,HTML结构嵌套较深时,一个标签的样式将深受其祖先标签样式的影响。影响的规则是:

CSS优先规则1:?最近的祖先样式比其他祖先样式优先级高。

例1:

!--类名为son的div的color为blue--divstyle="color:red"

divstyle="color:blue"

divclass="son"/div

/div/div

如果我们把一个标签从祖先那里继承来的而自身没有的属性叫做"祖先样式",那么"直接样式"就是一个标签直接拥有的属性。又有如下规则:

CSS优先规则2:"直接样式"比"祖先样式"优先级高。

例2:

!--类名为son的div的color为blue--divstyle="color:red"

divclass="son"style="color:blue"/div/div

选择器的优先级

上面讨论了一个标签从祖先继承缓芦来的属性,现在讨论标签自有的属性。在讨论CSS优先级之前,先说说CSS7种基础的选择器:

ID选择器,如#id{}

类选择器,如扰中带.class{}

属性选择器,如a[href="segmentfault"]{}

伪类选择器,如:hover{}

伪元素选择器,如::before{}

标签选择器,如span{}

通配选择器,如*{}

CSS优先规则3:优先级关系:内联样式ID选择器类选择器=属性选择器=伪类选择器标签选择器=伪元素选择器

例3:

//HTMLdivclass="content-class"id="content-id"style="color:black"/div//CSS#content-id{

color:red;}.content-class{

color:blue;}div{

color:grey;}

最终的color为black,因为内联样式比其他选择器的优先级高。

所有CSS的选择符由上述7种基础的选择器或者组合而成,组合的方式有3种:

后代选择符:.father.child{}

子选择符:.father.child{}

相邻选择符:.bro1+.bro2{}

当一个标签同时被多个选择符选中,我们便需要确定这些选择符的优先级。我们有如下规则:

CSS优先规则4:计算选择符中ID选择器的个数(a),计算选择符中类选择器、属性选择器以及伪类选择器的个数之和(b),计算选择符中标签选择器和伪元素选择器的个数之和(c)。按a、b、c的顺序依次比较大小,大的则优先级高,相等则比较下一个。若最后两个的选择符中a、b、c都相等,则按照"就近原则"来判断。

例4:

//HTMLdivid="con-id"

spanclass="con-span"/span/div//CSS#con-idspan{

color:red;}div.con-span{

color:blue;}

由规则4可见,span的color为red。

如果外部样式表和内部样式表中的样式发生冲突会出现什么情况呢?这与样式表在HTML文件中所处的位置有关。样式被应用的位置越在下面则优先级越高,其实这仍然可以用规则4来解释。

例5:

//HTMLlinkrel="stylesheet"type="text/css"href="style-link.css"styletype="text/css"@importurl(style-import.css);div{

background:blue;}/stylediv/div//style-link.cssdiv{

background:lime;}//style-import.cssdiv{

background:grey;}

从顺序上看,内部样式在最下面,被最晚引用,所以div的背景色为blue。

上面代码中,@import?语句必须出现在内部样式之前,否则文件引入无效。当然不推荐使用?@import?的方式引用外部样式文件,原因见另一篇博客:CSS引入方式。

CSS还提供了一种可以完全忽略以上规则的方法,当你一定、必须确保某一个特定的属性要显示时,可以使用这个技术。

CSS优先规则5:属性后插有?!important?的属性拥有最高优先级。若同时插有?!important,则再利用规则3、4判断优先级。

例6:

//HTMLdivclass="father"

pclass="son"/p/div//CSSp{

background:red!important;}.father.son{

background:blue;}

虽然.father.son拥有更高的权值,但选择器p中的background属性被插入了!important,所以p的background为red。

错误的说法

在学习过程中,你可能发现给选择器加权值的说法,即ID选择器权值为100,类选择器权值为10,标签选择器权值为1,当一个选择器由多个ID选择器、类选择器或标签选择器组成时,则将所有权值相加,然后再比较权值。这种说法其实是有问题的。比如一个由11个类选择器组成的选择器和一个由1个ID选择器组成的选择器指向同一个标签,按理说110100,应该应用前者的样式,然而事实是应用后者的样式。错误的原因是:权重的进制是并不是十进制,CSS权重进制在IE6为256,后来扩大到了65536,现代浏览器则用更大的数量。。还是拿刚刚的例子说明。11个类选择器组成的选择器的总权值为110,但因为11个均为类选择器,所以其实总权值最多不能超过100,你可以理解为99.99,所以最终应用后者样式。

在两个或多少CSS规则应用于同元素上时,不同级别的优先顺序从到高低是?

在看css选择器优先级顺序前,我们先来简单说说css基本选择器有哪些?

1.标记选择器(如:body,div,p,ul,li)

2.id选择器(如:id=“name”,id=“name_txt”)

3.类选择器(如:id=“name”,id=“name_txt”)

4.后代选择器(如:#head.nulli从父集到子孙集的选择器)

5.子元素选择器(如:divp,带大于号)

6.伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)

看完了基本的css选择器类型后,我们接着来看一下css优先级的概念。

当两个规则都作用到了同一个html元素上时,如果定义的属性有冲突,那么应该用谁的值的,用到谁的值谁的优先级就高。

我们来看一下css选择器优先级的算法:

每个规则对应一个初始"四位数":0、0、0、0

若是行内选择符,则加1、0、0、0

若是ID选择符,则加0、1、0、0

若是类选择符/伪类选择符,则分别加0、0、1、0

若是元素选择符,则分别加0、0、0、1

算法:将每条规则中,选择拍信符对应的数相加后得到的”四位数“,从左到右进行比较,大的优先级越高。

看完了上述内容,那我们就来看看css选择器优先级的具体排序。

css选择器优先级最高到最低顺序为:

1.id选择器(#myid)

2.类选择器(.myclassname)

3.标签选择器(div,h1,p)

4.子选择器(ulli)

5.后代选择器(lia)

6.伪类选择(a:hover,li:nth-child)

最后,需要注意袭绝轮的是:

!important的宏竖优先级是最高的,但出现冲突时则需比较”四位数“;

优先级相同时,则用就近原则,选择最后出现的样式;

继承得来的属性,其优先级最低。

css样式优先级?

如果你写的样式调用在前,而外部通用样式在后,那么它就会覆盖你的(css的意思是“层叠样式表”,而“层叠”的意思就是后面的会覆盖前面的)。而内联样式(也就是你说的“行配橘内样式”)缓码的优先级比外部样式(通过link标签调用的)和培哪团外联样式(写在style标签内的)都高,所以不会被覆盖。

css选择器有哪些?各种选择器优先级大小顺序

1、类型选择器

CSS中的一种选择器是元素类型的名称。使用这种选择器(称为类型选择器),可以向这种元素类型的每个实例上应用声明。例如,以下简单规则的选择器是H1,因此规则作用于文档中所有的H1元素。

2、简单属性选择器

CLASS属性

CLASS属性允许向一组在CLASS属性上具有相同值的元素应用声明。BODY内的所有元素都有CLASS属性。从本质上讲,可以使用CLASS属性来分类元素,在样式表中创建规则来引用CLASS属性的值,然后浏览器自动将这些属性应用到该组元素。

类选择器以标志符(句点)开头,用于指示后面是哪种类型的选择器。对于类选择器,之所以选择句点是因为在很多编程语言中它与术语"类"相关联。翻译成英语,标志符表示"带有类名的元素"。

ID属性

ID属性的操作类似于CLASS属性,但有一点重要的不同之处:ID属性的值在整篇文档中必须是唯一的。这使得ID属性可用于设置单个元素的样式规则。包含ID属性的选择器称为ID选择器。

需要注意的是,ID选择器的标志符是散列符号(#)。标志符用来提醒浏览器接下来出现的是ID值。

STYLE属性

尽管在选择器中可以使用CLASS和ID属性值,STYLE属性实际上可以替代整个选择器机制。不是只具有一个能够在选择器中引用的值(这正是ID和CLASS具有的值),STYLE属性的值实际上是一个或多个CSS声明。

通常情况下,使用CSS,设计者将把所有的样式规则置于一个样式表中,该弯余样式表位于文档顶部的STYLE元素内(或在外部进行链接)。但是,使用STYLE属性能够绕过样式表将声明直接放置到文档的开始标记中。

3、组合选择器类型

可以将类型选择器、ID选择器和类选择器组合成不同的选择器类型来埋迹滚构成更复杂的选择器。通过组合选择器,可以更加精确地处理希望赋予某种表示的元素。例如,要组合类型选择器和类选择器,一个元素必须满足两个要求:它必须是正确的类型和正确的类以便使样式规则可以作用于它。

外部信息:伪类和伪元素

在CSS1中,样式通常是基于在HTML源代码中出现的标记和属性。对于很多设计情景而言这种做法州戚完全可行,但是它无法实现设计者希望获得的一些常见的设计效果。

设计伪类和伪元素可以实现其中的一些效果。这两种机制扩充了CSS的表现能力。在CSS1中,使用伪类可以根据一些情况改变文档中链接的样式,如根据链接是否被访问,何时被访问以及用户和文档的交互方式来应用改变。借助于伪元素,可以更改元素的第一个字母和第一行的样式,或者添加源文档中没有出现过的元素。

伪类和伪元素都不存在于HTML;也就是说,它们在HTML代码中是不可见的。这两种机制都得到了精心设计以便能够在CSS以后的版本中做进一步地扩充;也就是说实现更多的效果。

层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

css的三种样式中哪种样式的优先级最高

css样式取的就近样式原则。

行内样式divstyle=""/div优先级最高,没有行内样式那么会回在页答面找style/style内嵌样式。

名称CSS中的“层叠(cascading)”表示样式单规则应用于HTML文档元素的方式。具体地说,CSS样式单中的样式形成一个层次结构,更具体的样式覆盖通用样式。样式规则的优先级由CSS根据这个层次结构决定,从而实现级联效果。

扩展资料:

易于使用和修改:

CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门没行的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。枯租哗

另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中。

参考资料来型兆源:百度百科-CSS

Dreamweer中怎么把项目列表前面的那些点去掉?

导语:我们下载一个软件的同时,总会附带上一些小插件。Brackets 编辑器也一样,那么它有哪些有用的插件呢?下面就让我们一起来学习以下吧。

Brackets 编辑器有哪些有用的插件

 1. HTML Wrer

 快速使用

  等包裹一列元素。

2. Brackets Icons

这是一个非常简单的`扩展,它为你的 Brackets 边栏添加文件图标。该图标视觉体验非常好,可以快速帮你识别出你要编辑的文件的类型。

 3. CanIUse

 不用离开 Brackets 就可以查看当前浏览器是否支持某个特定的 WEB 技术。这个扩展的数据来源于 Can I use。

 4. HTML Skeleton

 HTML Skeleton 可以快速的为你的 HTML 文件插入基本的标签,如doctype声明、、、等等。

 

5. Autoprefixer

该扩展可以自动只能的为 CSS 元素添加前缀。它通过 Can I use 提供的浏览器支持数据来判断是否需要添加前缀。它也可以移除不必要的前缀。

6. JS CSS Minifier

这个扩展为你的 JaScript 和 CSS 文件移除不必要的字符。这个过程成为压缩,它可以提升网页的加载速度。

7. CSSLint

这个插件可以高亮 CSS 错误及代码质量问题,它通过 CSS Lint 来报告错误与警告。

8. Emmet

如果你从事Web前端开发的话,对该插件一定不会陌生。它可以加快你的 HTML 和 CSS 编写速度。

9. Lorem Ipsum Generator

需要一些文字来填充设计原型?Lorem Ipsum Generator 可以快速的生成一些文本(如果你需要占位符的话,可以看看 Lorem Pixel 和 DEVimg )。

10. Beautify

这个扩展可以让你的 HTML、CSS、JaScript 等代码格式化一致,从而提升可读性。作为延伸,你可以看看 CSSComb。

11. Simple To-Do

使用 Simple To-Do 可以确保你不会忘记项目的任务。它允许你在 Brackets 中为每一个项目创建 TODO 列表。

12. eqFTP

与 WEB 主机传输和同步文件需要用到 FTP 或者 TP,但使用 Brackets 不需要这样。通过 eqFTP 扩展,你可以直接在 Brackets 中进行这些操作。

Normalize.css 与传统的 CSS Reset 有哪些区别

对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除。

1、在CSS中写入代码。找到相关性的CSS,在。.li和.ul下写入list-sytle:none;当然有的会这样来写list-style-type:none,这种写法特别是在一些CMS中最常见。

2、在相关的页面找到head部分写入下面的代码

<styletype="text/css">

list-style:none;

</style>

3、在li,ul内加入list-style。如<ulstyle="list-style-type:none><li><aherf="://blog.163/ldy_3881685">我的博客</a></li></ul>当然这种是很麻烦的了。

最简单的就是第一种了,通过CSS来控制,这个当然会有不错的效果了。

这几种方法都是通过设置list-style:none来设置的,有的是会用list-style-type,下面我们来看一看它的属性.

none不使用项目符号

disc实心圆,默认值

circle空心圆

square实心方块

decimal阿拉伯数字

lower-roman小写罗马数字

upper-roman大写罗马数字

lower-alpha小写英文字母

upper-alpha大写英文字母

这些都可以来代替上文中的none,想要什么样的都会有一个相应的对应。

A).运用CSS格式化列表符:ulli{

list-style-type:none;

}

B).如果你想将列表符换成图像,则:ulli{

list-style-type:none;

list-style-image:url(images/icon.gif);

}

C).为了左对齐,可以用如下代码:ul{

list-style-type:none;

margin:0px;

}

D).如果想给列表加背景色,可以用如下代码:ul{

list-style-type:none;

margin:0px;

}

ulli{

background:#CCC;

}

E).如果想给列表加MOUSEOVER背景变色效果,可以用如下代码:ul{list-style-type:none;margin:0px;}

ullia{display:block;width:100%;background:#ccc;}

ullia:hover{background:#999;}说明:display:block;这一行必须要加的,这样才能块状显示!

F).LI中的元素水平排列,关键FLOAT:LEFT:ul{

list-style-type:none;

width:100%;

}

div怎样才能覆盖div上面的内容?

1. Normalize.css 保护了有价值的默认值

Reset通过为几乎所有的元素施加默认样式,强行使得元素有相同的视觉效果。相比之下,Normalize.css保持了许多默认的浏览器样式。这就意味着你不用再为所有公共的排版元素重新设置样式。当一个元素在不同的浏览器中有不同的默认值时,Normalize.css会力求让这些样式保持一致并尽可能与现代标准相符合。

2. Normalize.css 修复了浏览器的bug

它修复了常见的桌面端和移动端浏览器的bug。这往往超出了Reset所能做到的范畴。关于这一点,Normalize.css修复的问题包含了HTML5元素的显示设置、预格式化文字的font-size问题、在IE9中SVG的溢出、许多出现在各浏览器和操作系统中的与表单相关的bug。

可以看以下这个例子,看看对于HTML5中新出现的input类型search,Normalize.css是如何保证跨浏览器的一致性的。

/**

*?1.?Addresses?earance?set?to?searchfield?in?S5,?Chrome

*?2.?Addresses?box-sizing?set?to?border-box?in?S5,?Chrome?(include?-moz?to?future-proof)

*/

input[type="search"]?{

-webkit-earance:?textfield;?/*?1?*/

-moz-box-sizing:?content-box;

-webkit-box-sizing:?content-box;?/*?2?*/

box-sizing:?content-box;

}

/**

*?Removes?inner?padding?and?search?cancel?button?in?S5,?Chrome?on?OS?X

*/

input[type="search"]::-webkit-search-decoration,

input[type="search"]::-webkit-search-cancel-button?{

-webkit-earance:?none;

}

3. Normalize.css 不会让你的调试工具变的杂乱

使用Reset最让人困扰的地方莫过于在浏览器调试工具中大段大段的继承链,如下图所示。在Normalize.css中就不会有这样的问题,因为在我们的准则中对多选择器的使用时非常谨慎的,我们仅会有目的地对目标元素设置样式。

4. Normalize.css 是模块化的

这个项目已经被拆分为多个相关却又独立的部分,这使得你能够很容易也很清楚地知道哪些元素被设置了特定的值。因此这能让你自己选择性地移除掉某些永远不会用到部分(比如表单的一般化)。

5. Normalize.css 拥有详细的文档

Normalize.css的代码基于详细而全面的跨浏览器研究与测试。这个文件中拥有详细的代码说明并在Github Wiki中有进一步的说明。这意味着你可以找到每一行代码具体完成了什么工作、为什么要写这句代码、浏览器之间的差异,并且你可以更容易地进行自己的测试。

这个项目的目标是帮助人们了解浏览器默认是如何渲染元素的,同时也让人们很容易地明白如何改进浏览器渲染。

方法:

这个用绝对定位就可以搞定了。

position:absolute;

举个例子:

1.css代码

.div1{height:30px;?width:100%;?background:#fff;?position:relative;?z-index:1;}

.div2{height:30px;?width:100%;?background:#f00;?position:absolute;?top:0px;?left:0;?z-index:2;}

2.html代码

<div?class="div1"><div?class="div2"></div></div>

这样子div2就能完全覆盖在div1上了。

DIV(层叠样式表单元的位置和层次)

DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。DIV在编程中又叫做整除,即只得商的整数。 DIV元素是用来为HTML(标准通用标记语言下的一个应用)文档内大块(block-level)的内容提供结构和背景的元素。

一、定义

<div> 可定义文档中的分区或节(division/section)。

<div> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。

如果用 id 或 class 来标记 <div>,那么该标签的作用会变得更加有效。

注释:<div> 是一个块级元素,也就是说,浏览器通常会在 div 元素前后放置一个换行符。

提示:请使用 <div> 元素来组合块级元素,这样就可以使用样式对它们进行格式化。

二、用法

<div> 是一个块级元素。这意味着它的内容自动地开始一个新行。实际上,换行是 <div> 固有的特定的格式表现。可以通过 <div> 的 class 或 id 应用额外的样式。

不必为每一个 <div> 都加上类或 id,虽然这样做也有一定的好处。

可以对同一个 <div> 元素同时应用 class 和 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的特定的元素。

百度百科 ?DIV

热门文章