css讲解

首先在我们学习css之前先来思考一个问题,为什么html标签上不直接改变样式,而要将文档结构和样式分离,分别用html和css来表示呢?

其实我个人认为这样分离带来的好处明显,我总结了几点:

1. 可以实现样式重用,提高了工作效率。

2. 可以更加细致的分工开发。

3. 使文件结构变的更加清晰。

1:css语法

CSS规则由两个主要的部分构成:选择器以及一条或多条声明,即:选择器{属性:值;属性:值;…. }

请注意:

将所有声明放到{ }中

每条声明由三部分组成——属性:值

声明以;结束

2:css常见属性

字符颜色

color:red;

字号大小

font-size:40px;

背景颜色

background-color:blue;

宽度

Width:10px;

长度

Height:40px;

背景图片

background-image:url(“1.png”);

文字居中

text-align:center;left|right;

行高

line-height

加粗

font-weight:bold;

不加粗

font-weight:normal;

斜体

font-style:italic;

不斜体

font-style:normal;

下划线

text-decoration:underline;

没有下划线

text-decoration:normal

首行缩进

Text-indent:2em;

在使用background-image属性时请注意:一定要设置其宽和高,例如:

width: 50px;

height: 90px;

background-image: url("x.jpg");

还有之前在html中标签设置背景图片使用:background,同时可以不用放在style中,而这里css是background-image;注意区分。

同时要知道:浏览器默认文字大小为16px,默认行高(line-height)为18px

3:css写法

在这里写3中常见的css写法:

(1)第一种:内嵌式写法

 1 <head>
2 <style type="text/css">
3 /*此处为CSS代码----在该写法中,可以将CSS样式写在<head></head>标签中*/
4 </style>
5 </head>

(2)第二种:外链式写法

与内嵌式写法中直接把CSS写在了<head></head>中不同,在外嵌式写法中是把CSS写在了专门的.css文件里,然后在html中通过<link>标签引用就可以了,请看如下示例:

 <head>
<link rel="stylesheet" type="text/css" href="csstest.css" /> /*在实际开发中,这种运用最多,因为可以降低后期的维护性成本*/
</head>

(3)第三种:行内式写法,这种写法作用范围相对小,但优先级最高,具体后面讲

 <body>
<p style="color:blue; font-size:40px">欢迎访问蜗牛的博客。</p>
</body>

CSS选择器

CSS常见选择器的分类:

基础选择器

标签选择器

类选择器

id选择器

通配符选择器

复合选择器

并集选择器

后迭代选择器

交集选择器

 <!DOCTYPE html>
<html>
<head>
<style type="text/css"> p{
color: red;
background-color: pink;
}
.testclass{
color: red;
background-color: white;
} #testid{
color: red;
background-color:green;
} </style>
</head>
<body>
<p>我是标签选择器</p> <!--标签选择器只要把标签名放前面就好,也可以同时放多个-->
<h4 class="testclass">我是类选择器</h4> <!--类选择器签名前面加一点在取一个名字-->
<h4 id="testid">我是id选择器> <!--id选择器前面加#在取一个名字-->
<h4>我什么都不是</h4>
</body>
</html>

演示效果:

注意:

id选择与类选择器不同的是:一个标签只能调用一个ID选择器。虽然多个标签可以使用同一ID选择器,但是强烈不建议这么做,如果出现多个标签id相同的情况下,那么当你用js获得属性的时候,往往只能获得第一个。所以,在实际开发中极少采用ID选择器而多用类选择器。

通配符选择器:

通配符使用星号*表示,意思是“所有的”

*{
padding:0;
margin:0;
}

这里是设置所有元素的外边距margin和内边距padding都为0。

不过,由于*会匹配所有的元素,这样会影响网页渲染的时间,因此很多人开始停止使用*通配符选择器,取而代之的是,把所有需要统一设置的元素,放在一起,一块设置。

blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{ margin:0;padding:0}

复合选择器

并集选择器:  <!--并集选择器有几个标签就对几个标签起作用,标签之间用逗号隔开-->

 <!DOCTYPE html>
<head>
<title>并集选择器</title>
</head>
<style type="text/css">
h4,span{
color:red;
}
</style>
<body>
<h4>我是h4标签</h4>
<span>我是span标签</span>
</body
</html>

运行结果如下:

后迭代选择器 :

特点:向后面迭代选择(向子标签)

 <!DOCTYPE html>
<html>
<head>
<title>后迭代选择器</title>
</head>
<style type="text/css">
.testdiv span{
color:green;
}
</style>
<body>
<div class="testdiv">
<p>我是p标签</p>
<span>子标签(孙子)</span> <!--表面该css只对class为testdiv中嵌套的span标签起作用-->
</div>
</body
></html>

运行结果如下:

交集选择器

交集选择器一般是以标签选择开头,类选择器结尾

 <!DOCTYPE html>
<html>
<head>
<title>交集选择器</title>
</head>
<style type="text/css">
div span.redspan{
color:red;
}
</style>
<body>
<div>
<span>span1</span><br>
<span class="redspan">sapn2</span><br> <!--只对这个有效果-->
<span>span3</span><br>
</div>
</body>
</html>

运行结果如下:

上面这些是一些有关基础css和选择器,接下来还有许多,我会一一道来!

css笔记详解(1)的更多相关文章

  1. CSS选择器详解(伪类) 转 http://blog.csdn.net/Panda_m/article/details/50084699

    CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...

  2. css filter详解

    css filter详解 filter 属性详解 属性 名称 类型 说明 grayscale 灰度 值为数值 取值范围从0到1的小数(包括0和1) sepia 褐色 值为数值 取值范围从0到1的小数( ...

  3. JSX设置CSS样式详解

    JSX设置CSS样式详解 1. 使用className设置样式(CSS的其他选择器也是同理) (1)定义一个CSS文件style.css,和普通CSS一样定义class选择器 .sty1{//和普通C ...

  4. 带你走进CSS定位详解

    学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...

  5. 此博客使用的CSS样式详解!

    此博客使用的CSS样式详解! 页面使用的博客园模板为:LuxInteriorLight,可以在博客皮肤里找到. 页首屏蔽广告代码 <script>console.log("顶部标 ...

  6. web前端学习(三)css学习笔记部分(4)-- CSS选择器详解

    4.  元素选择器详解 4.1  元素选择器 4.2  选择器分组 用英文逗号","相连,使用相同的样式表 使用通配符对所有元素进行通用设定. 4.3  类选择器详解 4.3.1. ...

  7. javaScript笔记详解(1)

    javaScript基础详解 版权声明 本文原创作者:雨点的名字 作者博客地址:https://home.cnblogs.com/u/qdhxhz/ 首先讲javaScript的摆放位置:<sc ...

  8. CSS中详解hight属性

    目录结构: // contents structure [-] hight属性值类型一览表 height的%的使用 定义 实例 需要注意的 参考文章 hight属性值类型一览表 value descr ...

  9. 转:CSS圆角详解

    CSS3是样式表(style sheet)语言的最新版本,它的一大优点就是支持圆角. 网页设计大师Nicholas Zakas的最新文章,清晰易懂地解释了CSS3圆角的各个方面,非常值得学习.以下就是 ...

随机推荐

  1. ftp协议 主动和被动两种模式模式

  2. String Match

    Finding length of longest common substring /*Finding length of longest common substring using DP * * ...

  3. 《团队-爬取豆瓣top250-开发文档》

    项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 本项目能够爬取豆瓣电影TOP250并向用户展示电影的排名,分数等

  4. 20175229张智敏 Arrays和String单元测试

    Arrays和String单元测试 1.具体要求: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split A ...

  5. 《Linux就该这么学》第十九天课程

    今天对“Linux就该这么学”课程做个收尾 最后一张使用LNMP架构部署动态网站环境 第1步:下载及解压源码包文件.为了方便在网络中传输,源码包文件通常会在归档后使用gzip或bzip2等格式进行压缩 ...

  6. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01

    01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ...

  7. 走进JDK(十一)------LinkedHashMap

    概述LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,LinkedHas ...

  8. cosfuture logs

    1,RESTClient用于调试接口的插件 2, PHP_AUTH_USER如何发送 $a = base64_encode("username:password"); 注意中间是冒 ...

  9. django 如何接收bootstrap-table传送的 ajax数组

    今天在用django传递id的时候,使用 alert(ids)以及console.log("id:",ids),都可以看到是把选中的数据的id打印出来的,用console.log可 ...

  10. UEditor可以如何直接复制word的图文内容到编辑器中?

    下载并打开工程: 文档的上传 运行: 复制随便一篇文档,粘贴进去. 通过粘贴后,文档以及图片被粘贴进来了,看看html代码:   图片全部使用img标签统一.传输进度条的效果也不错. 文档图片被放置在 ...