块级元素和行级元素

HTML中的元素可分为两种类型:块级元素和行级元素。这些元素的类型是通过文档类型定义(DTD)来指明。块级元素:显示在一块内,会自动换行,元素会从上到下垂直排列,各自占一行,如p,ul,form,div等标签元素。行内元素:元素在一行内水平排列,高度由元素的内容决定,height属性不起作用,如span,input等元素。

一、块级元素:block element

  • 每个块级元素默认占一行高度,一行内添加一个块级元素后无法一般无法添加其他元素(float浮动后除外)。两个块级元素连续编辑时,会在页面自动换行显示。块级元素一般可嵌套块级元素或行内元素;
  • 块级元素一般作为容器出现,用来组织结构,但并不全是如此。有些块级元素,如
    只能包含块级元素。其他的块级元素则可以包含 行级元素
  • 也有一些则既可以包含块级,也可以包含行级元素。

DIV 是最常用的块级元素,元素样式的display:block都是块级元素。它们总是以一个块的形式表现出来,并且跟同级的兄弟块依次竖直排列,左右撑满。

特点:

①、总是在新行上开始;
②、高度,行高以及外边距和内边距都可控制;
③、宽度缺省是它的容器的100%,除非设定一个宽度。
④、它可以容纳内联元素和其他块元素

  • 常见的块级元素有:
    address – 地址
    blockquote – 块引用
    center – 举中对齐块
    dir – 目录列表
    div – 常用块级容易,也是CSS layout的主要标签
    dl – 定义列表
    fieldset – form控制组
    form – 交互表单
    h1 – h6 大标题 – 6级标题
    hr – 水平分隔线

二、行内元素:inline element

  • 也叫内联元素、内嵌元素等;行内元素一般都是基于语义级(semantic)的基本元素,只能容纳文本或其他内联元素,常见内联元素 “a”。比如 SPAN 元素,IFRAME元素和元素样式的display : inline的都是行内元素。例如文字这类元素,各个字母 之间横向排列,到最右端自动折行。

特点:

①、和其他元素都在一行上;
②、高,行高及外边距和内边距不可改变;
③、宽度就是它的文字或图片的宽度,不可改变
④、内联元素只能容纳文本或者其他内联元素

  • 对行内元素,需要注意如下
    ①、设置宽度width 无效。
    ②、设置高度height 无效,可以通过line-height来设置。
    ③、设置margin 只有左右margin有效,上下无效。
    ④、设置padding只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的。

  • 常见的行内元素
    a - 锚点
    big - 大字体
    br - 换行
    cite - 引用
    em - 强调
    font - 字体设定(不推荐)
    i - 斜体
    img - 图片
    input - 输入框
    label - 表格标签

行内元素与块级元素有什么不同?

区别一:

块级:块级元素会独占一行,默认情况下宽度自动填满其父元素宽度
行内:行内元素不会独占一行,相邻的行内元素会排在同一行。其宽度随内容的变化而变化。

区别二:

块级:块级元素可以设置宽高
行内:行内元素不可以设置宽高

区别三:

块级:块级元素可以设置margin,padding
行内:行内元素水平方向的margin-left; margin-right; padding-left; padding-right;可以生效。但是竖直方向的margin-bottom; margin-top; padding-top; padding-bottom;却不能生效。

区别四:

块级:display:block;
行内:display:inline;
可以通过修改display属性来切换块级元素和行内元素

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

  • CSS继承:父元素设置的属性,自动继承到子孙元素
  • 不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
  • 所有元素可继承:visibility和cursor。
  • 内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
  • 终端块状元素可继承:text-indent和text-align。
  • 列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
如何让块级元素水平居中?如何让行内元素水平居中?
 设置左右外边距的值为auto;
 设置text-align:center;
用 CSS 实现一个三角形
triangle{
  width:0;
  height:0;
  border-left:20px solid transparent;
  border-right:20px solid transparent;
  border-bottom:20px solid blue;
}
单行文本溢出加 ...如何实现?
   white-space:nowrap;
   overflow:hidden;
   text-overflow:ellipsis;
px, em, rem 有什么区别
   px:固定尺寸
   em:相对于父元素的尺寸倍数
   rem 相对单位,相对于根元素(html)的字体的大小。比如默认的html是16px,那么,想设置12px的文字就是12/16=0.75(rem)。
解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
   body{
     font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
    }

   表示字体规格为:  
   字体大小为12px
   字体行高为1.5倍字体大小
   字体可在tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif 这些
   字体中选择(若都不存在,则为浏览器默认字体)
   当有空格或者Unicode码时,需要加引号
   \5b8b\4f53是字体的Unicode码,表示黑体
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容