CSS心得

	最近对CSS的使用有一些小心得,在此写下来给大家分享分享 。最后附上选择器的实例代码。
------DanlV

CSS是什么

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

百度百科

CSS三种使用方式

1.style属性 如: <div style="width:300px">

2.style标签 如:

		#id .class html {
color: red;
}

3.link标签引入外部单独的css文件

TIPS:在实际的开发中,推荐使用第三种方式,能够很好的实现结构与样式分离。

CSS选择器

css分为基础选择器和综合选择器

基础选择器

  • html  标签选择器   如 p { .....}

    1.通过标签名当做选择器来使用

    2.无论标签藏的多深,都可以被选中

    3.选择的是所有的标签,而不是具体某个标签,通常情况下,通过标签选择器设置的是共性的问题
  • id选择器  #id名   如#div1 {....}

    1.id的名字是唯一的

    2.任何的标签都可以具有id属性(id是全局属性)。大小写敏感(#test 和 #TEST 是两个完全不同的id)
  • class选择器  .class名  如.class {...}

    1.class属性名可以重复使用

    2.任何的标签都可以具有class属性(class也是全局属性)

    3.class的值可以有多个 <h1 class="test logo h1"></h1>
  • 通配符 *   如 *{....}选择所有标签,能少用就少用,会拖慢网页的速度

命名法:给元素设置id(设置class也可以使用)的时候,可以采用驼峰命名法 :

1.小驼峰命名法,首单词不大写,后面的单词首字母都大写 如   testHeaderLogImage

2.大驼峰命名法,所有单词首字母都大写


综合选择器

  • 后代选择器 div  p   选中的是div  里面的p标签,如div p {...}
  • 交集选择器  div.d1
  • 子元素选择器  div>p ,这是css3新出现的。
  • 并集选择器 div,p使用‘,’隔离
  • 序列选择器:first-child  :last-child
  • 相邻兄弟选择器  div  + p,选取紧挨着的后面的兄弟节点
  • 普通兄弟选择器 div  `  p(使用反引号),选取div元素后面出现的所有p兄弟节点

继承和层叠

继承和层叠是css极为重要的内容。

继承

父元素拥有了某个css属性,子元素在不需要任何条件的情况下都会拥有父元素的属性。

子元素并不能够全部继承父元素的css,可以继承的css属性具有以下特点:

color   text-   line-    font-   都是跟文字属性相关 这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承。

层叠

层叠是CSS处理冲突的一种解决方案。需要通过计算权重来解决层叠的问题。

解决层叠问题通过权重由选择器中id  class  html  的出现次数来判断权重,如:  

		#b1 .h2 p {
color:red;
} div div #b3 p {
color: blue;
} div.h1 div.h2 dov.h3 p {
color: yellow;
}

一号:第一个选择器id class html出现的次数分别为1   1   1

二号:第一个选择器id class html出现的次数分别为1   0   3

三号:第一个选择器id class html出现的次数分别为0   3   4

三号id选择器个数为0,被淘汰;一号和二号选择器个数都为1,则比较class选择器个数,一号为1大于二号为0,则一号生效。

计算权重的步骤:

1.先比较id次数的大小,相同比较class次数的大小,若相同则比较html次数的大小 ss

2.如果权重一样,name后出现的会覆盖先前出现的

3.看看一下是否直接选中目标元素,如果没有直接选中目标元素,name他的权重为0

4.如果都没有选中,那么谁离目标元素近就听谁的

总结:

  1. 先看有没有选中目标元素,如果选中,比权重,谁大听谁的。如果权重一样,谁写在后面听谁的
  2. 如果没有选中,权重为0.如果所有的选择器权重都为0,就近原则

TIPS:!important 能够把权重变为无限大。但是存在缺点:只能够作用在单个属性上。尽量少用。

p {

color: red !important;

font-size: 100px;

}

.lv {

color: green;

font-size: 10px;

}

		.lan {
color: blue;
font-size: 20px;
}

只能作用在单个属性,p{...}中只有color属性能起作用,而font-size则不起作用。但是不推荐使用此方法来改变权重,会引起权重计算失效和不方便维护。


行内元素和块级元素

  • 块级元素的特性:
  1. 自己霸占一行 ,不能与其他元素并列显示
  2. 可以设置宽度和高度
  3. 如果不设置宽度,块级元素会默认沾满整个父元素的宽
  • 行内元素的特性:
  1. 能够与其他的行内元素并排显示
  2. 不能够设置宽度和高度,宽度是内容的宽度,高度是内容的高度。

TIPS:可以通过CSS-display来改变行内元素和块级元素,属性值如下:

  • display:inline; 将元素 变为行内元素
  • display:block ; 将元素变为块级元素是
  • display:inline-block;将元素变为行内块元素

CSS使用心得小结的更多相关文章

  1. CSS选择器学习小结

    关于CSS选择器的问题,在实际项目中,以及一般的前端面试中会经常遇到.下面对此做一小结,梳理和巩固相关方面知识.(如有不妥之处,还望大家及时批评指正,以免误导他人) 一.选择器种类 1.id选择器(# ...

  2. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  3. html与css命名规范小结

    一.命名规则说明 所有的命名最好都用小写 使用英文命名 给每一个表格和表单加上一个唯一的.结构标记id 给每个图片加上alt标签,优点在于图片发生错误时,alt可以体现给用户 二.相对网页外层重要部分 ...

  4. CSS学习心得2

    CSS样式 链接 a:link - 普通的.未被访问的链接 a:visited - 用户已访问的链接 a:hover - 鼠标指针位于链接的上方 a:active - 链接被点击的时刻 当为链接的不同 ...

  5. CSS学习心得

    CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外 ...

  6. CSS应用心得

    单纯Html配合CSS网页 下面用程序来实际总结一下 首先,在写程序的应该具有一个良好的编程习惯. 第一:排版,拥有一个良好的排版,有助于我们能够快速的理解以及阅读程序: 第二:注释,就如以下程序,作 ...

  7. 分享一下学习css,js心得

    简化代码,使页面简洁! web前端开发——将界面更好呈现给用户! 要了解在不同浏览器上的兼容情况.渲染原理和存在的bug! 网站性能优化.SEO: 代码的可维护性.性能: 网站重构的本质:建立一个前端 ...

  8. Html&CSS 今日心得

    今天和秋秋一起review了一下我自己写的登录页面.她给我提了几个point,对我很有启发. css样式的代码和html代码分离. 我自己做的时候是在google console里面调好了样式以后就直 ...

  9. css与div小结

    前些时间学习css与div的课程 什么是css呢 Css 级联样式表或层叠样式表(Cascading Style Sheet) 是能够真正做到 网页表现与内容分离的一种样式设计语言.相对于传统HTML ...

随机推荐

  1. html学习笔记 - sublime text 插件安装

    command + shift + p 呼出搜索界面 输入 Packge Control:Install Package 进入到插件搜索列表 Emmet -- >快速生成html标签结构 Emm ...

  2. android组团开发站立会议第三周第一次会议

    会议时间:组队开发第三周  星期一   开始时间晚上9:30-10:00 会议地点:学一食堂 二楼 到会人员:李志岩  王亚蕊 安帅 薛禄坤 张新宇 孙存良 会议概要:              1. ...

  3. 《JAVA与模式》之简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...

  4. SmartCoder每日站立会议09

    站立会议内容 今天约了在一起编程,详细确定各个页面以及消息的添加.发送等一些小的细节. 1.站立会议照片:      2.任务展板 2.燃尽图

  5. Local模式下Spark程序只输出关键信息

    使用spark-submit提交local任务时,会输出很多Info信息: ------------------------------------------- Time: ms --------- ...

  6. VR全景智慧城市——商家的需求才是全景市场的核心竞争力

    消费者视角痛点:比如酒店消费行业,很多消费者在预订酒店过程中,都遇到过这样的场景:网上照片里酒店房间看着宽敞明亮,格调不凡,感觉非常喜欢,等真正推开房门插上房卡一看,却大失所望.在酒店行业,网上照片和 ...

  7. 搭建eureka服务

    1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  8. Predix Asset Service深度分析

    前言 在IIOT领域,面临着保存海量数据的挑战,具体到Asset层面,则要保存物理对象,逻辑对象,复杂的关系,并支持对象间的组合,分类,标签和高效查询.总结来说,可以归纳为如下几种需求:   灵活的建 ...

  9. HTMLCollection 对象详解,以及为什么循环获取的dom合集操作可能会出现下标不正确的情况?

    有时候循环dom合集,然后操作其中的某些dom之后,发现下标不正确了 比如我们要删除一个dom合集的时候: var selectDom = document.getElementsByClassNam ...

  10. 使用SQL语句使数据从坚向排列转化成横向排列(排班表)

    知识重点: 1.extract(day from schedule01::timestamp)=13 Extract 属于 SQL 的 DML(即数据库管理语言)函数,同样,InterBase 也支持 ...