CSS心得

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

CSS是什么

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

百度百科

CSS三种使用方式

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

2.style标签 如:

  1. #id .class html {
  2. color: red;
  3. }

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  的出现次数来判断权重,如:  

  1. #b1 .h2 p {
  2. color:red;
  3. }
  4. div div #b3 p {
  5. color: blue;
  6. }
  7. div.h1 div.h2 dov.h3 p {
  8. color: yellow;
  9. }

一号:第一个选择器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;

}

  1. .lan {
  2. color: blue;
  3. font-size: 20px;
  4. }

只能作用在单个属性,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. .NET中webservice如何使用,调用

    webservice 只是"面向服务"编程的一种方式,现在把所有的方式都合在一起,就叫做WCF,,,,,, 1.创建 webservice服务,在web项目中添加"web ...

  2. 基于java:读写一个英文的txt文件,记录单词个数,并输出十个出现最多的单词及出现的个数;

    import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class W ...

  3. nginx-tomcat-memcached架构文档说明(转)

    800x600 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 st1\:*{be ...

  4. 第 9 章 MySQL数据库Schema设计的性能优化

    前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只 ...

  5. javaWeb学习总结(8)- jsp指令(3)

    一.JSP指令简介 一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定 ...

  6. es6之Generator

    1.Generator函数其实是一个封装了多个内部状态的状态机,执行它会返回一个遍历器对象,然后可以依次遍历Generator中的每一个状态,也就是分段执行,yield是暂停执行的标记,next恢复执 ...

  7. Java-面向对象总结

    下面是学习面向对象的知识点和总结: 面向对象思想: 遇到需求,首先去找是否有现成的类来实现此功能,创建对象来调用,以此来组合成新的类实现自己的需求. 在java中是以类为单位,一个类包括成员变量.成员 ...

  8. 第40篇 使用Sublime+MarkDown快速写博客

    原文地址:http://blog.laofu.online/2017/06/03/how-use-sublime/ 前端的开发人员应该都知道sublime的神器,今天就说说如何使用sublime结合m ...

  9. java实现文件批量导入导出实例(兼容xls,xlsx)

    1.介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下. 目前我所接触过的导入导出技术主要有POI和iRepo ...

  10. android 模拟器对应键盘快捷键

    一位同事的总结资料: Android SDK2.0.1自带的虚拟机尺寸都比较小(不针对机型,只为了在PC上看的舒服一点,当然越大越好了,我最大设置成1050*450,但是自带的屏保会不够宽,900*4 ...