css基础
来源:互联网 发布:linux安装telnet客户端 编辑:程序博客网 时间:2024/06/02 01:54
CSS
铺网页 三种技术
html 站在语义的角度负责结构
css 站在美学的角度去进行美化
JavaScript 站在用户体验的角度进行交互
什么是css?
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
层叠样式表 — 核心关键词
样式表:负责美化
层叠 : 样式不会被干掉,而只会被覆盖
三个基础选择器的差异
核心:结构与样式分离
CSS的使用
1. 直接在标签种添加相应的属性
eg:
<h1 style="color: green;">你好,世界!</h1>
2. 在head标签内使用style属性
eg:
<style>
pre {
color: red;
}
</style>
3. 使用link标签将css与html分离在.css文件中来编辑
eg:
<link rel="stylesheet" type="text/css" href="1.css">
三种基础选择器
1. 在style标签中来定义相应标签的属性
(最不精准的选择器)
eg:
p {
color: green;
}
2. 利用每个标签的id属性来进行唯一的标识
(最为精准)
eg:
#d1 {
color: red;
}
3. 利用标签的class属性来进行标识
(相对精准)
eg:
.c1 {
color: blue;
font-size: 50px;
text-decoration: underline;
}
标签中class的属性值可以有多个,并且标签中内容的样式与class属性值的先后顺序无关,只与css中的先后顺序有关(代码由上到下,顺序执行)
eg:class=”d1 d2”
4. 通配符”*”
(对所有标签进行标识)
综合选择器
1. 后代选择器
在定义标签样式时,标签内部的内容同时被定义(包括标签内部的标签)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>综合选择器1</title> <style> /*后代选择器*/ .d2 span { color:blue; } </style></head><body> <!-- 后代选择器 --> <div class="d1"> <span>第一代span</span> <div class="d2"> <span>第二代span</span> <div class="d3"> <span>第三代span</span> </div> </div> </div></body></html>
2.交集选择器
不同标签中的class属性值相同,但在css样式中,要想不同标签显示不同效果,则在class的值前加上前缀
/*交集选择器*/ div.j1 { color: red; } em.j1 { color: green; } strong.j1 { color: yellow; }<!-- 交集选择器 --><div class="j1"> 我是标签div,叫j1</div><em class="j1">我是em标签,叫j1</em><br><strong class="j1">我是strong标签,叫j1</strong><div>我是div标签,没有名字</div>
3. 并集选择器
可以将相同样式的标签,放在一起定义,用逗号隔开
/*并集选择器*/ .b1,p,em { color : red; }<!-- 并集选择器 --><div class="b1">这里是并集选择器div标签,叫b1</div><p>这里是p(1)标签,在div外部没名字</p><em>这里是em标签,在div外部没名字</em><p>这里是p(2)标签,在div外部没名字</p>
4. 子元素选择器
其css样式定义中,只定义其子集中的标签
/*子元素选择器*/ #zid1>em { color: green; }<!-- 子元素选择器 --><div id="zid1"> <em>我是一代div中的em</em> <div class="zclass1-1"> <em>我是二代div中的em</em> <div> <em>我是三代div中的em</em> </div> </div></div>
5. 序列选择器
在css样式中只能定义第一个和最后一个,和全部同时定义
/*序列选择器*/ul li:first-child { color: red;}ul li:last-child { color:green;} <!-- 序列选择器 --><ul> <li>一帆风顺</li> <li>双喜临门</li> <li>三幅开泰</li> <li>四季发财</li> <li>五谷丰登</li></ul>
6. 兄弟选择器
在css样式定义中中,“+”号表示对一个标签的相邻标签进行定义(注意代码的执行顺序是从上到下,故只能改变其后的标签),“~”表示对符号两侧的后一个标签进行定义,其包括了相邻的标点
/*兄弟选择器*/ /*相邻兄弟选择器*/ div+p { color: red; } /*普通兄弟选择器*/ /*p ~ p { color: green; }*/ /*p + p { color:yellow; }*/<!-- 兄弟选择器 --><div>我是兄弟选择器中的div</div><p>我是兄弟选择器中第一个p标签</p><p>我是兄弟选择器中第二个p标签</p><p>我是兄弟选择器中第三个p标签</p>
继承
子标签可以继承父标签的属性,关于文字的css属性都可以进行继承:
color text- line- font-
<style> .jc { color: red; }</style><div class="jc"> <span>我是span标签,继承了div标签的color属性</span></div>
权重问题
- css样式定义中,对同一样式有多种选择器时(id,class,html),按照其相应的比值来权衡(选择器出现的个数),但id > class > html,与定义样式时,选择器的先后顺序无关,空格隔开;
eg:
<style>/*id class html */ #box1 .hezi2 p { /* 1 1 1*/ color: red; } div div #box3 p { /*1 0 3*/ color: green; } div.hezi1 div.hezi2 div.hezi3 p { /*0 3 4 */ color: blue; }</style><div class="hezi1" id="box1"> <div class="hezi2" id="box2"> <div class="hezi3" id="box3"> <p>文字颜色</p> </div> </div></div>
- 在权重比值相同时,则看css中代码执行的顺序;
eg:
<style> #box2 .hezi3 p { color: blue; } #box1 .hezi2 p { color: red; }</style><div class="hezi1" id="box1"> <div class="hezi2" id="box2"> <div class="hezi3" id="box3"> <p>文字颜色</p> </div> </div></div>
- 在css样式中,没有给出标签名,且选择的选择器类型也相同,则谁定位到标签最近则以为为准;
eg:
#hezi3 { color:green;}#hezi1 #hezi2 { color:red;}<div class="box" id="hezi1"> <div class="box" id="hezi2"> <div class="box" id="hezi3"> <p>猜猜我是什么颜色?</p> </div> </div></div>
4. 带有!important的关键字时,则以这一样式为准,但其余的则按上述规则,能够把”单独属性”的权重变为无限大。 尽量少用;
块元素与行元素
块级元素和行内元素的区别:
1. 行内元素部不能够设置宽度和高度。行内元素的宽度和高度是标签内容的宽度和高度。块级元素可以设置宽度和高度。
2. 块级元素会独占一行。而行内元素却部能够独占一行,只能和其他的行内元素共用一行。
3. 如果块级元素不设置宽度,那么块级元素会自动的沾满父元素的全部宽度。
行元素与块元素的相互转换
在css样式中display: inline block inline-block
inline: 行元素;
block:块元素;
inline-block:行块元素;
- CSS基础
- CSS基础
- CSS基础
- CSS基础
- CSS基础
- CSS基础
- CSS基础
- css基础
- CSS基础
- css基础
- css基础
- CSS基础
- css基础
- css基础
- CSS基础
- CSS基础
- CSS基础
- CSS基础
- hdu2662
- Mac 怎么更改音频输出设备
- 【JZOJ 5163】PS的烦恼
- 解密回声消除技术之一(理论篇)
- Canvas学习之基础一
- css基础
- BottomBarLayout——方便快捷地实现底部导航栏
- TCP/IP协议
- word图片居中, 实际没效果解决、行间距无效果
- 更新Android SDK tool 到4.4w.2版本时,遇到Failed to rename directory
- Java web入门项目
- Linux中SVN的使用方法
- javascript文本节点操作方法你知道吗?
- Android的Intent系统调用