CSS使用心得小结
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.如果都没有选中,那么谁离目标元素近就听谁的
总结:
- 先看有没有选中目标元素,如果选中,比权重,谁大听谁的。如果权重一样,谁写在后面听谁的
- 如果没有选中,权重为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则不起作用。但是不推荐使用此方法来改变权重,会引起权重计算失效和不方便维护。
行内元素和块级元素
- 块级元素的特性:
- 自己霸占一行 ,不能与其他元素并列显示
- 可以设置宽度和高度
- 如果不设置宽度,块级元素会默认沾满整个父元素的宽
- 行内元素的特性:
- 能够与其他的行内元素并排显示
- 不能够设置宽度和高度,宽度是内容的宽度,高度是内容的高度。
TIPS:可以通过CSS-display来改变行内元素和块级元素,属性值如下:
- display:inline; 将元素 变为行内元素
- display:block ; 将元素变为块级元素是
- display:inline-block;将元素变为行内块元素
CSS使用心得小结的更多相关文章
- CSS选择器学习小结
关于CSS选择器的问题,在实际项目中,以及一般的前端面试中会经常遇到.下面对此做一小结,梳理和巩固相关方面知识.(如有不妥之处,还望大家及时批评指正,以免误导他人) 一.选择器种类 1.id选择器(# ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- html与css命名规范小结
一.命名规则说明 所有的命名最好都用小写 使用英文命名 给每一个表格和表单加上一个唯一的.结构标记id 给每个图片加上alt标签,优点在于图片发生错误时,alt可以体现给用户 二.相对网页外层重要部分 ...
- CSS学习心得2
CSS样式 链接 a:link - 普通的.未被访问的链接 a:visited - 用户已访问的链接 a:hover - 鼠标指针位于链接的上方 a:active - 链接被点击的时刻 当为链接的不同 ...
- CSS学习心得
CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外 ...
- CSS应用心得
单纯Html配合CSS网页 下面用程序来实际总结一下 首先,在写程序的应该具有一个良好的编程习惯. 第一:排版,拥有一个良好的排版,有助于我们能够快速的理解以及阅读程序: 第二:注释,就如以下程序,作 ...
- 分享一下学习css,js心得
简化代码,使页面简洁! web前端开发——将界面更好呈现给用户! 要了解在不同浏览器上的兼容情况.渲染原理和存在的bug! 网站性能优化.SEO: 代码的可维护性.性能: 网站重构的本质:建立一个前端 ...
- Html&CSS 今日心得
今天和秋秋一起review了一下我自己写的登录页面.她给我提了几个point,对我很有启发. css样式的代码和html代码分离. 我自己做的时候是在google console里面调好了样式以后就直 ...
- css与div小结
前些时间学习css与div的课程 什么是css呢 Css 级联样式表或层叠样式表(Cascading Style Sheet) 是能够真正做到 网页表现与内容分离的一种样式设计语言.相对于传统HTML ...
随机推荐
- 026 hibernate操作树形结构
树形结构:也就是目录结构,有父目录.子目录.文件等信息,而在程序中树形结构只是称为节点. 一棵树有一个根节点,而根节点也有一个或多个子节点,而一个子节点有且仅有一个父节点(当前除根节点外),而且也存在 ...
- Generating Sankey Diagrams from rCharts
A couple of weeks or so ago, I picked up an inlink from an OCLC blog post about Visualizing Network ...
- 一天搞定HTML----常用标签01
1.常用标签说明 2.其他类标签演示 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...
- JavaSE教程-03Java中分支语句与四种进制转换-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 if语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断 ...
- 关于redis内部的数据结构
最大感受,无论从设计还是源码,Redis都尽量做到简单,其中运用到的原理也通俗易懂.特别是源码,简洁易读,真正做到clean and clear, 这篇文章以unstable分支的源码为基准,先从大体 ...
- JavaScript中对事件简单的理解(1)
事件(event) 1.什么是JavaScript事件? 事件是文档或浏览器中发生的特定交互瞬间. 2.事件流 事件流描述的是从页面中接受事件的顺序,包含IE提出的事件冒泡流与Netscape提出的事 ...
- C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密
FTPS,亦或是FTPES, 是FTP协议的一种扩展,用于对TLS和SSL协议的支持. 本文讲述了如何从一个基于FTPS的Server中下载数据的实例. 任何地方,如有纰漏,欢迎诸位道友指教. ...
- mac 安装mysqldb组件包及mac中安装mysql-python遇到的问题
错误1:mysql_config not found 问题描述:在执行sudo pip install mysql-python安装时报错误:EnvironmentError: mysql_confi ...
- 页面实现多个定时器(计时器)时选用NSTimer还是GCD?(干货不湿)
定时器在我们每个人做的iOS项目里面必不可少,如登录页面倒计时.支付期限倒计时等等,一般来说使用NSTimer创建定时器: + (NSTimer *)timerWithTimeInterval:(NS ...
- dubbo的简单应用
一. dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架. 二. 架构 引用dubbo的架构图: Provide ...