果我们想在 HTML 元素中设置 CSS 样式,则需要通过 CSS 选择器进行控制。换句话说,CSS 选择器就是用于指向需要添加 CSS 样式的标签,让 CSS 样式知道自己需要作用到那个标签上去。
CSS 的继承性是指被包在内部的标签将拥有外部标签的样式性,即子元素可以继承父元素的属性。
以下分别介绍了几种常用的选择器与其可继承的属性。
我们通过设置标签的 id 属性来设置id选择器。CSS 中 id 选择器以 # 来定义。如以下则是设置 id 为“box”的 CSS 样式。为 div 添加一个高度为 100px,宽度为 100px,背景颜色为红色的样式。
常用的选择器还有类选择器。类选择器通过设置标签的 class 属性去设置样式。CSS 中 class 选择器以 . 来定义。如以下则是设置class 为“box”的 CSS 样式。为div添加一个高度为 100px,宽度为 100px,背景颜色为蓝色的样式。
标签选择器是为某一类标签设置 CSS 样式。在 CSS 中直接以标签名设置样式。如以下是设置 div 的 CSS 样式。给 div 加上一个高度为 100px,宽度为 100px,背景颜色为粉色的样式。
我们也可以直接在标签内写 CSS 代码。通过加上 style 属性,就可以在 style 内添加 CSS 样式了。
CSS 中可继承的属性有以下几种。
font | 组合字体 |
font-family | 规定元素的字体系列 |
font-weight | 设置字体的粗细 |
font-size | 设置字体的尺寸 |
font-style | 定义字体的风格 |
font-variant | 设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。 |
font-stretch | 允许你使文字变宽或变窄。所有主流浏览器都不支持。 |
font-size-adjust | 为某个元素规定一个 aspect 值,字体的小写字母 "x" 的高度与 "font-size" 高度之间的比率被称为一个字体的 aspect 值。这样就可以保持首选字体的 x-height。 |
text-indent | 文本缩进 |
text-align | 文本水平对齐 |
line-height | 行高 |
word-spacing | 增加或减少单词间的空白(即字间隔) |
letter-spacing | 增加或减少字符间的空白(字符间距) |
text-transform | 控制文本大小写 |
direction | 规定文本的书写方向 |
color | 文本颜色 |
visibility | 规定元素是否可见 |
caption-side | 规定表格标题的放置方式 |
border-collapse | 为表格设置合并边框模型 |
border-spacing | 设置相邻单元格的边框间的距离(仅用于“边框分离”模式) |
empty-cells | 设置是否显示表格中的空单元格(仅用于“分离边框”模式) |
table-layout | 显示表格单元格、行、列的算法规则 |
list-style-type | 设置列表项标记的类型 |
list-style-image | 使用图像来替换列表项的标记 |
list-style-position | 设置在何处放置列表项标记 |
list-style | 在一个声明中设置所有的列表属性 |
quotes | 设置嵌套引用(embedded quotation)的引号类型 |
cursor | 规定要显示的光标的类型(形状) |
page | 检索或指定显示对象容器时使用的页面类型 |
page-break-inside | 设置元素内部的 page-breaking 行为 |
orphans | 设置或返回一个元素必须在页面底部的可见行的最小数量(用于打印或打印预览) |
speak | 规定内容是否将以声音形式呈现 |
speak-punctuation | 规定如何念出标点符号 |
speak-numeral | 规定如何念出数字 |
speak-header | 指定如何处理表格标题。应该在每个单元格之前朗读标题,还是仅在标题与前一个单元格不同的单元格之前念出标题。 |
speech-rate | 规定说话的速度 |
volume | 规定说话的音量 |
voice-family | 规定语音的语音家族 |
pitch | 规定说话的声音 |
pitch-range | 规定语音的变化(单调还是动听的声音?) |
stress | 规定语音中的“压力” |
richness | 指定语音的丰富程度。(声音丰富还是稀薄?) |
azimuth | 设置声音的来源 |
elevation | 设置声音的来源 |
以上就是编程狮(w3cschool.cn)小编为你整理的 CSS 选择器及其继承属性的总结。希望可以帮到你~
基本概念
HTML 是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。
CSS 样式是表现。比如,标题字体、颜色变化,或为标题加入背景图片、边框等,所有这些用来改变内容外观的东西称之为表现。
JavaScript 是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单,或鼠标滑过表格的背景颜色改变,还有焦点新闻(新闻图片)的轮换。有动画的,有交互的一般都是用 JavaScript 来实现的。
2.常用标签
强调语气:<em>是斜体,<strong>是加粗
引用:<q>短文本引用,<blockquote>长文本引用
换行 <br />
水平横线 <hr />
空格
表格 <table><tbody>
加上后表格内容全部下载完才会显示
行 <tr>
列 <td>
表格表头 <th>
标题 <caption>
超链 <a>
例子:<a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a>
新标签打开:target="_blank"
图片 <img>,图像可以是 GIF,PNG,JPEG 格式的图像文件
例子:<img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">
表单 <form>
文本域 <textarea>
例子 <textarea rows="行数" cols="列数">文本</textarea>
cols 多行输入域的列数;rows 多行输入域的行数。这两个属性可用 CSS 样式的 width 和 height 来代替:col 用 width、row 用 height 来代替
输入框 <input type="text/password" name="名称" value="文本" />
当 type=”text” 时,输入框为文本输入框
当 type=”password” 时, 输入框为密码输入框
单/复选框 <input type="radio/checkbox" value="值" name="名称" checked="checked"/>
当 type=”radio” 时,控件为单选框,同一组单选框 name 命名要一致
当 type=”checkbox” 时,控件为复选框
提交按钮 <input type="submit" value="提交">
重置按钮 <input type="reset" value="重置">
下拉列表框 ` `
value <option value="提交值">选项</option>
选中 selected="selected"
多选 multiple="multiple"
标签 <label for="控件id名称">,标签的 for 属性中的值应当与相关控件的 id 属性 值一定要相同
基本知识
CSS 样式由选择符和声明组成,而声明又由属性和值组成。
选择符:又称选择器,指明网页中要应用样式规则的元素。
声明:在英文大括号{}中的的就是声明,属性和值之间用英文冒号{}分隔。当有多条声明时,中间可以英文分号;分隔。
从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种。优先级遵循就近原则,一般来说,内联式 > 嵌入式 > 外部式。
内联式
例子 <p style="color:red;font-size:12px">这里文字是红色。</p>
嵌入式
外部式
例子:<link href="base.css" rel="stylesheet" type="text/css" />
CSS 选择器
常见的类选择器类型有如下几种:
标签选择器,.标签选择器名称{css样式代码;}
类选择器,.类选器名称{css样式代码;}
ID 选择器,#类选器名称{css样式代码;}
子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素
包含选择器,即加入空格 ,用于选择指定标签元素下的后辈元素
通用选择器,匹配html中所有标签元素,* {css样式代码;}类选择器和ID选择器都可以应用于任何元素,但 ID 选择器只能在文档中使用一次,可以使用类选择器词列表方法为一个元素同时设置多个样式,ID 选择器是不可以的。
子选择器和包含选择器区别:>作用于元素的第一代后代,空格作用于元素的所有后代。
另外还有两种选择符:
伪类选择符,允许给 HTML 不存在的标签(标签的某种状态)设置样式。常用的有 a:hover{color:red;}
分组选择符,为 HTML 中多个标签元素设置同一个样式时,可以使用分组选择符,
。例如h1,span{color:red;}
CSS 的继承、层叠和特殊性
CSS 的某些样式是具有继承性的,继承是一种规则,它允许样式不仅应用于某个特定 HTML 标签元素,而且应用于其后代。
特殊性:不同选择器具有不同权值,标签的权值为 1,类选择符的权值为 10,ID选择符的权值最高为 100。
层叠 就是在 HTML 文件中对于同一个元素可以有多个 CSS 样式存在,当有相同权重的样式存在时,会根据这些 CSS 样式的前后顺序来决定,处于最后面的 CSS 样式会被应用。
CSS 格式化排版
文字排版
字体,body{font-family:"Microsoft Yahei";}
字号、颜色,body{font-size:12px;color:#666}
粗体,body{font-weight:bold;}
斜体,body{font-style:italic;}
下划线,body{font-style:italic;}
删除线,body{text-decoration:line-through;}
段落排版
缩进,p{text-indent:2em;}
行间距(行高),p{line-height:1.5em;}
中文字间距、字母间距,letter-spacing:50px;和word-spacing:50px;
对齐,div{text-align:center;}
CSS 盒模型
元素分类
在 CSS 中,HTML 中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。
常用的块状元素有:
块级元素特点:
每个块级元素都从新的一行开始,并且其后的元素也另起一行。
元素的高度、宽度、行高以及顶和底边距都可设置。
元素宽度在不设置的情况下,是它本身父容器的 100%(和父元素的宽度一致),除非设定一个宽度。
设置 display:block就是将元素显示为块级元素,从而使元素具有块状元素特点。
注:img 标签与 div 层之间会有空隙的解决方法是:使用 display:block 就可以消除间隙。
常用的内联元素有:
内联元素特点:
和其他元素都在一行上;
元素的高度、宽度及顶部和底部边距不可设置;
元素的宽度就是它包含的文字或图片的宽度,不可改变。
块状元素也可以通过代码 display:inline将元素设置为内联元素。
常用的内联块状元素有:
inline-block 元素特点:
和其他元素都在一行上;
元素的高度、宽度、行高以及顶和底边距都可设置。
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码 display:inline-block就是将元素设置为内联块状元素。
盒模型
边框
盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。
单独设置下边框的例子 div{border-bottom:1px solid red;}
宽度和高度
CSS 内定义的宽(width)和高(height),指的是 填充以里的内容范围。一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。
W3C 的标准 Box Model:
所以有时会设置 box-sizing: border-box;来避免计算内部元素大小
填充(padding)
元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。
例子:
边界(margin)
元素与其它元素之间的距离可以使用边界(margin)来设置,顺序和填充一样是上,右,下,左。padding 在边框里,margin 在边框外。
CSS 布局模型
CSS 包含 3 种基本的布局模型,用英文概括为:Flow、Layer 和 Float。 在网页中,元素有三种布局模型:
流动模型(Flow)
浮动模型 (Float)
层模型(Layer)
流动模型
流动模型,流动(Flow)是默认的网页布局模式。
流动布局模型具有2个比较典型的特征:
块状元素 都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为 100%。实际上,块状元素都会以行的形式占据位置。
在流动模型下,内联元素 都会在所处的包含元素内从左到右水平分布显示。
浮动模型
任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动。例子:#div1{float:left;}
层模型
CSS 定义了一组定位(positioning)属性来支持层布局模型。
层模型有三种形式:
绝对定位(position: absolute)
相对定位(position: relative)
固定定位(position: fixed)
绝对定位(position: absolute)
如果想为元素设置层模型中的绝对定位,需要设置 position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用 left、right、top、bottom 属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于 body 元素,即相对于浏览器窗口。
相对定位(position: relative)
如果想为元素设置层模型中的相对定位,需要设置 position:relative(表示相对定位),它通过 left、right、top、bottom 属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按 static(float) 方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
简单来说,就是相对元素原来的位置进行移动,元素本身所占的位置会保留。
固定定位(position: fixed)
设置 position:fixed;。fixed:表示固定定位,与 absolute 定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与 background-attachment:fixed; 属性功能相同。
Relative 与 Absolute 组合使用,必须遵守下面规范:
参照定位的元素必须是相对定位元素的前辈元素
参照定位的元素必须加入 position:relative;
定位元素加入 position:absolute,便可以使用 top、bottom、left、right 来进行偏移定位了
例子(HTML 和 CSS 代码分别为):
颜色和长度
设置颜色的方法也有很多种:
英文命令颜色,p{color:red;}
RGB颜色,p{color:rgb(133,45,200);} 和 p{color:rgb(20%,33%,25%);}
十六进制颜色, 这种颜色设置方法是现在比较普遍使用的方法,其原理其实也是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。p{color:#00ffff;}(当你设置的颜色是 16 进制的色彩值时,如果每两位的值相同,可以缩写一半,#0ff)RGB 配色表参考 RGB颜色对照表 - 在线工具 - 开源中国 或者 RGB 配色表长度单位总结一下,目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位。
像素
em,就是本元素给定字体的 font-size 值
% 百分比
设置小技巧
水平居中设置
行内元素。如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center来实现的。
定宽块状元素(块状元素的宽度 width 为固定值)。满足定宽和块状两个条件的元素是可以通过设置“左右 margin”值为 auto 来实现居中的。
不定宽块状元素。
加入 table 标签(包括 <tbody>、<tr>、<td>),为这个 table 设置“左右 margin 居中”
设置 display: inline方法:与第一种类似,显示类型设为 行内元素,然后使用 text-align:center来实现居中效果,进行不定宽元素的属性设置。
给父元素设置 float 和 position:relative; left:50%,子元素设置 position:relative 和left: -50% 来实现水平居中。
垂直居中设置
父元素高度确定的单行文本。通过设置父元素的 height 和 line-height 高度一致来实现的。(height: 该元素的高度;line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。
父元素高度确定的多行文本。使用插入 table (包括 tbody、tr、td)标签,同时设置 vertical-align:middle。
另外,为元素设置以下两个属性之一会隐形改变 display 类型,元素的display显示类型就会自动变为以display:inline-block(块状元素)的方式显示,当然就可以设置元素的 width 和 height 了,且默认宽度不占满父元素。
position: absolute
float: left 或 float:right
able表格一种早期十分流行的网页布局方式,现在基本都是div+css的布局方式,表格一般由tr(行)td(列)标签组成
表格的常用属性:1)border:表示表格边框线2)cellpadding:单元格内容和内边框之间的距离3)cellspacing:表示单元格之间的间距4)bgcolor:背景颜色5)width:宽度6)height:高度 等等
表格
没有设置表格width与height属性,表格宽高暂时由单元格的内容的宽高决定,其他暂不考虑
想要消除单元格间距与内容与单元格内边框的间距设置属性cellspacing,cellpadding为"0"
<!DOCTYPE html>
<html>
<head>
<title>表格</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table border="1px" cellspacing="0" cellpadding="10">
<tr>
<td>一</td>
<td>二</td>
<td>三</td>
</tr>
<tr>
<td>C#</td>
<td>Asp.net</td>
<td>MVC</td>
</tr>
<tr>
<td>HTML</td>
<td>JavaScript</td>
<td>JQuery</td>
</tr>
</table>
</body>
</html>
tr常用属性
align:单元格内容的水平对齐方式,属性值:1)left2左侧)right右侧3)center中间
valign:单元格内容的垂直对齐方式,属性值1)top上边2)bottom下边3)middle中间
rowspan与colspan:将单元格进行行与行或者列与列的合并
这些属性以后都会写在css样式表中;制作显示一个对齐方式与行或列的合并的表格
<!DOCTYPE html>
<html>
<head>
<title>表格</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table border="1" cellspacing="0" cellpadding="0" width="500" height="300">
<tr>
<td colspan="3" align="center">课程表</td><!--合并三行-->
</tr>
<tr align="center"><!--单元格内容居中显示-->
<td>星期一</td>
<td>星期二</td>
<td>星期三</td>
</tr>
<tr align="center">
<td>HTML</td>
<td rowspan="2">.NET</td><!--合并两列-->
<td>JavaScript</td>
</tr>
<tr align="center">
<td>CSS</td>
<td>JQuery</td>
</tr>
</table>
</body>
</html>
显示效果
表格中设置的属性虽然会继承,但是子标签单独设置了属性,就会覆盖父标签的属性;比如tr
设置align="center",此tr中的子标签td单独设置了align="left",最终效果是此td内容居左显示
*请认真填写需求信息,我们会在24小时内与您取得联系。