1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别?
基本概念:
一、块级元素:block element
每个块级元素默认占一行高度,一行内添加一个块级元素后无法一般无法添加其他元素(float浮动后除外)。两个块级元素连续编辑时,会在页面自动换行显示。块级元素一般可嵌套块级元素或行内元素;
块级元素一般作为容器出现,用来组织结构,但并不全是如此。有些块级元素,如<form>
只能包含块级元素。其他的块级元素则可以包含行级元素如<P>
.也有一些则既可以包含块级,也可以包含行级元素。
DIV 是最常用的块级元素,元素样式的display:block都是块级元素。它们总是以一个块的形式表现出来,并且跟同级的兄弟块依次竖直排列,左右撑满。
二、行内元素:inline element
也叫内联元素、内嵌元素等;行内元素一般都是基于语义级(semantic)的基本元素,只能容纳文本或其他内联元素,常见内联元素 “a”。比如 SPAN 元素,IFRAME元素和元素样式的display : inline的都是行内元素。例如文字这类元素,各个字母之间横向排列,到最右端自动折行。
三、block(块)元素的特点
① 总是在新行上开始;
② 高度,行高以及外边距和内边距都可控制;
③ 宽度缺省是它的容器的100%,除非设定一个宽度。
四、inline元素的特点
① 和其他元素都在一行上;
② 高,行高及外边距和内边距不可改变;
③ 宽度就是它的文字或图片的宽度,不可改变
④ 内联元素只能容纳文本或者其他内联元素
④、它可以容纳内联元素和其他块元素
对行内元素,需要注意如下
1.设置宽度width 无效。
2.设置高度height 无效,可以通过line-height来设置。
3.设置margin 只有左右margin有效,上下无效。
4.设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了但是对元素周围的内容是没影响的。
常见的块级元素
标签 | 描述 |
---|---|
address | 地址 |
blockquote | 块引用 |
center | 举中对齐块 |
dir | 目录列表 |
div | 常用块级容易,也是CSS layout的主要标签 |
dl | 定义列表 |
fieldset | form控制组 |
form | 交互表单 |
h1 | 大标题 |
h2 | 副标题 |
h3 | 3级标题 |
h4 | 4级标题 |
h5 | 5级标题 |
h6 | 6级标题 |
hr | 水平分隔线 |
isindex | input prompt |
menu | 菜单列表 |
noframes | frames可选内容,(对于不支持frame的浏览器显示此区块内容 |
noscript | 可选脚本内容(对于不支持script的浏览器显示此内容) |
p | 段落 |
pre | 格式化文本 |
table | 表格 |
ul | 无序列表 |
ol | 有序表单 |
常见的内联元素
标签 | 描述 |
---|---|
a | 超链接 |
abbr | 缩写 |
acronym | 首字 |
br | 换行 |
cite | 引用 |
code | 计算机代码(在引用源码的时候需要) |
dfn | 定义字段 |
em | 强调 |
i | 斜体 |
img | 图片 |
input | 输入框 |
kbd | 定义键盘文本 |
label | 表格标签 |
q | 短引用 |
s | 中划线(不推荐) |
samp | 定义范例计算机代码 |
select | 项目选择 |
span | 常用内联容器,定义文本内区块 |
strike | 中划线 |
strong | 粗体强调 |
sub | 下标 |
sup | 上标 |
textarea | 多行文本输入框 |
u | 下划线 |
特性区别
行内元素与块级元素有什么不同?
区别一:
块级:块级元素会独占一行,默认情况下宽度自动填满其父元素宽度
行内:行内元素不会独占一行,相邻的行内元素会排在同一行。其宽度随内容的变化而变化。
区别二:
块级:块级元素可以设置宽高
行内:行内元素不可以设置宽高
区别三:
块级:块级元素可以设置margin,padding
行内:行内元素水平方向的margin-left; margin-right; padding-left; padding-right;可以生效。但是竖直方向的margin-bottom; margin-top; padding-top; padding-bottom;却不能生效。
区别四:
块级:display:block;
行内:display:inline;
可以通过修改display属性来切换块级元素和行内元素
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;
行内元素水平居中:
text-align : center;
4.用 CSS 实现一个三角形
设置元素的宽高为0px,设置四条宽边,隐藏其他三边,即可实现一个三角形
5.单行文本溢出加 …如何实现?
1
2
3overflow: hidden; //多余的文字变成...
text-overflow: ellipsis; //超过边框的文字隐藏
white-space: nowrap; //不折行
可以通过上面三条代码实现。
6.px, em, rem 有什么区别
px:像素,固定单位
em:相对单位,值并不是固定的,会继承父级元素的字体大小,是默认字体大小的倍数。
rem:相对单位,rem是CSS3新增的一个相对单位,相对的只是HTML根元素,使用它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。
7.解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
代码作用:设置body的字体样式,字体大小12px,1.5倍行高。后面是五个字体,用逗号隔开,如果用户浏览页面时本地没有第一字体,则由第二字体代替,以此类推,如果都没有则采用系统默认字体。
字体加引号:加引号是因为字体的名字中包含空格,避免浏览器解析时候把它解析成多个词汇。
字体里\5b8b\4f53代表:字体里的数字符号代表Unicode码,为了避免直接写中文的情况下编码不匹配时会产生乱码的情况,将字体名称用Unicode来表示。’\5b8b\4f53’就代表宋体。Unicode码全球通用,
查找字体对应的Unicode码,可以在开发者工具输入escape指令,如图