CSS常见样式1

问答

1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别

  • 块级元素
<address>   定义地址
<caption>   定义表格标题
<div>   定义文档中的分区或节
<ol>    定义有序列表
<ul>    定义无序列表
<li>    标签定义列表项目
<dl>    定义列表
<dt>    定义列表中的标题
<dd>标签定义列表项目
<fieldset>  定义一个框架集
<form>  创建 HTML 表单
<h1~6>  定义标题
<hr>    创建一条水平线
<legend>    元素为 fieldset 元素定义标题
<noframes>  为那些不支持框架的浏览器显示文本,于 frameset 元素内部
<noscript>  定义在脚本未被执行时的替代内容
<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>   定义变量
  • 区别特征
块级元素 行内元素
总是在新行上开始 和其他元素在一行
宽度默认是容器的100% 宽度就是它本身内容的宽度
四个方向的margin和padding都可与设置 只能设置左右margin和padding
可以容纳其他块级元素和行内元素 只能容纳行内元素
  • 补充
    块级元素对应display:block,行内元素对应display:inline。可以通过修改元素的display属性来切换行内元素和块级元素。
    补充说明一个属性:display:inline-block;可以让元素具有块级元素和行内元素的特性:既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。是一个很实用的属性

2. 什么是 CSS 继承? 哪些属性能继承,哪些不能?

CSS样式表继承指的是,特定的CSS属性向下传递到子孙元素

  • 文本相关属性可以继承
font-family, font-size, font-style,
font-variant, font-weight, font, letter-spacing,
line-height, text-align, text-indent, 
text-transform,word-spacing
  • 列表相关属性可以继承
 list-style-image, list-style-position,
list-style-type, list-style
  • 颜色属性可以被继承
color
  • 其他可以被继承属性
azimuth, border-collapse, border-spacing,
caption-side, cursor, direction, elevation,
empty-cells, orphans, pitch-range,
pitch, quotes, richness, speak-header, 
speaknumeral,speak-punctuation,
 speak, speechrate,stress,visibility, 
voice-family, volume, whitespace,widows

3. 如何让块级元素水平居中?如何让行内元素水平居中?

块级元素剧中

margin-left: auto;    margin-right: auto;

行内元素居中

text-align: center;

4. 用 CSS 实现一个三角形

基本思想是设置一个元素的高和宽为0,通过控制四个方向不同的边的厚度和透明度来绘制三角形
一个简单的例子,绘制如下三角形

三角形
div{
width: 0;
heigh: 0;
border-bottom: 100px solid red;
border-right: 100px solid transparent;
border-left: 100px solid transparent;
border-top: 100px solid transparent;
}

5. 单行文本溢出加 ...如何实现?

p{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

6. px, em, rem 有什么区别

  • px:
  • px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
  • IE无法调整那些使用px作为单位的字体大小;
  • 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;
  • Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。
  • **em: **
  • em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
  • em的值并不是固定的;
  • em会继承父级元素的字体大小。
  • rem:
  • rem是CSS3新增的一个相对单位(root em,根em)
  • 和em区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。
  • 通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

7. 解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?

body{
  font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
  • body里文本的大小为12px,行高为1.5倍大小,字体按从左到右顺序显示一种电脑或浏览器中存在的tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
  • 'Hiragino Sans GB' 加引号的作用是字体名中存在空格,加引号防止被误认为两种字体。
  • \5b8b\4f53 (黑体)是字体名的Unicode码表示方式,防止字体名编码不匹配产生乱码导致无法识别

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 8,537评论 1 85
  • 1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 块级元素:div , p , form, ul...
    饥人谷_米弥轮阅读 74评论 0 2
  • 元素分类 常用的块状元素: 、 、 ... 、 、 、 、 、 、 、 常用的内联元素: 、 、 、 、 、 、...
    石林涛阅读 30评论 0 0
  • 1、块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 块级元素举例: div – 常用块级容易,也是...
    zh_yang阅读 40评论 0 0
  • 一、块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 参考文献1.MDN Block-level a...
    guidetheorient阅读 42评论 0 0