CSS 常见样式书写
2017-10-06 本文已影响0人
曾祥辉
1. 块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
块级元素列表
<address> 定义地址
<caption> 定义表格标题
<dd> 定义列表中定义条目
<div> 定义文档中的分区或节
<dl> 定义列表
<dt> 定义列表中的项目
<fieldset> 定义一个框架集
<form> 创建 HTML 表单
<h1> 定义最大的标题
<h2> 定义副标题
<h3> 定义标题
<h4> 定义标题
<h5> 定义标题
<h6> 定义最小的标题
<hr> 创建一条水平线
<legend> 元素为 fieldset 元素定义标题
<li> 标签定义列表项目
<noframes> 为那些不支持框架的浏览器显示文本,于 frameset 元素内部
<noscript> 定义在脚本未被执行时的替代内容
<ol> 定义有序列表
<ul> 定义无序列表
<p> 标签定义段落
<pre> 定义预格式化的文本
<table> 标签定义 HTML 表格
<tbody> 标签表格主体(正文)
<td> 表格中的标准单元格
<tfoot> 定义表格的页脚(脚注或表注)
<th> 定义表头单元格
<thead> 标签定义表格的表头
<tr> 定义表格中的行
行内元素列表
<a> 标签可定义锚
<abbr> 表示一个缩写形式
<acronym> 定义只取首字母缩写
<b> 字体加粗
<bdo> 可覆盖默认的文本方向
<big> 大号字体加粗
<br> 换行
<cite> 引用进行定义
<code> 定义计算机代码文本
<dfn> 定义一个定义项目
<em> 定义为强调的内容
<i> 斜体文本效果
<img> 向网页中嵌入一幅图像
<input> 输入框
<kbd> 定义键盘文本
<label> 标签为 input 元素定义标注(标记)
<q> 定义短的引用
<samp> 定义样本文本
<select> 创建单选或多选菜单
<small> 呈现小号字体效果
<span> 组合文档中的行内元素
<strong> 语气更强的强调的内容
<sub> 定义下标文本
<sup> 定义上标文本
<textarea> 多行的文本输入控件
<tt> 打字机或者等宽的文本效果
<var> 定义变量
-
块级和行内元素的区别:
- 行内元素与块级元素直观上的区别
-
行内元素会在一条直线上排列,都是同一行的,水平方向排列
-
块级元素各占据一行,垂直方向排列。块级元素从新行开始结束接着一个断行。
-
块级元素可以包含行内元素和块级元素。行内元素不能包含块级元素,只能包含行内和文本。
-
行内元素与块级元素属性的不同,主要是盒模型属性上
- 行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效
- 块级元素可以设置width,height,margin,padding。
- 块级元素的默认宽度是父容器的100%,行内元素的默认是它文本或图片的宽度且不可修改。
2. 什么是 CSS 继承? 哪些属性能继承,哪些不能?
CSS继承是子元素拥有你元素的样式性质。
- 无继承性的属性
1、display:规定元素应该生成的框的类型
2、文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向
3、盒子模型的属性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left
4、背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment
5、定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
6、生成内容属性:content、counter-reset、counter-increment
7、轮廓样式属性:outline-style、outline-width、outline-color、outline
8、页面样式属性:size、page-break-before、page-break-after
9、声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
- 有继承性的属性
1、字体系列属性
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
2、文本系列属性
text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
3、元素可见性:visibility
4、表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
5、列表布局属性:list-style-type、list-style-image、list-style-position、list-style
6、生成内容属性:quotes
7、光标属性:cursor
8、页面样式属性:page、page-break-inside、windows、orphans
9、声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
- 所有元素可以继承的属性
1、元素可见性:visibility
2、光标属性:cursor
- 内联元素可以继承的属性
1、字体系列属性
2、除text-indent、text-align之外的文本系列属性
- 块级元素可以继承的属性
1、text-indent、text-align
3. 如何让块级元素水平居中?如何让行内元素水平居中?
- 块级元素水平居中
设置块级元素的margin的值为 "0 auto"(0可以为需要的上下边距)(定宽)
语法:margin: 0 auto;
- 行内元素水平剧中
设置行内元素的text-align属性值为“center”
语法:text-align: center;
4. 用 CSS 实现一个三角形
用CSS实现一个三角形:
- 定义一个内容为0px,padding为0px,broder为三角形的高(具体看三角形的复杂度进行修改);
- 定义其中一边broder的颜色为三角形的底色;
- 将其中三个broder的颜色设置为透明或图片底色。
5. 单行文本溢出加 ...如何实现?
- 定义一个块级元素,包裹住文本;
- 在文本所在元素加入CSS
white-space: nowrap;
属性,使文本不换行; - 在文本所在元素加入CSS
overflow: hidden;
属性,使文本溢出部分自动隐藏; - 在文本所在元素加入CSS
text-overflow: ellipsis;
属性,使文本溢出部分显示省略符号来代表被修剪的文本。
6. px, em, rem 有什么区别
px是绝对单位,参照物为一个像素(1px);
em是相对单位,参照物是第一级父元素;
rem是相对单位,参照物是根元素(html或body)。
7. 解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
这行代码的作用是将整个html文档的字体属性设置如下:
- 字体大小12px;
- 行高1.5倍;
- 字体选择的优先级从左到右为:tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif。
加引号是因为Hiragino Sans GB是多个单词,为系统能用检索整个名词需要加上引号。
字体里\5b8b\4f53是黑体的unicode码。