CSS之行内元素与块状元素

问题来源于在segmentfault上看到的一个问题,button改变不了高度,在还没看代码之前,我猜是因为input是行内元素,没有改变其display:block或display:inline-block的话,应该不能设置其高度,但实验了一下过后,发现我错了。都能正常显示宽度和高度,查询了资料过后,知道了大概。

1. 关于html元素的分类:

      其实大多数人都知道,元素可以分为行内(inline element)元素和块状(block element)元素,其中行内元素设置宽度和高度不起作用,只有水平方向的padding和margin才有效,宽度取决于其内容的宽度,高度可以通过设置line-height来改变。

其实元素还可以分为置换元素(relplaced element)和非置换元素(non-relpalced element),他们在w3c的标准如下:

置换元素:

Replaced element

An element whose content is outside the scope of the CSS formatting model, such as an image, embedded document, or applet. For example, the content of the HTML IMG element is often replaced by the image that its "src" attribute designates. Replaced elements often have intrinsic dimensions: an intrinsic width, an intrinsic height, and an intrinsic ratio. For example, a bitmap image has an intrinsic width and an intrinsic height specified in absolute units (from which the intrinsic ratio can obviously be determined). On the other hand, other documents may not have any intrinsic dimensions (for example, a blank HTML document).

大概的意思就是对于置换元素,它的内容不再CSS format model内,比如说img,video,object,input,textarea,select,button。比如说img元素经常被它的src属性指向的内容所替换。置换元素有着固有的尺寸:默认的长,宽和比例。另一些元素没有明确的尺寸,比如说空元素。浏览器会根据其标签和属性的内容来确定显示的效果。

非置换元素

其内容直接表现给用户,多数的元素都是非置换元素。

1.关于 行内置换元素

        行内置换元素的宽度:

对于行内级置换元素来说,其宽度的设置需遵循以下几点:

若宽高的计算值都为auto且元素有固有宽度,则width的使用值为该固有宽度;

典型的例子是:拥有默认宽高的input当宽度的计算值为auto时,则宽度使用值为其默认的固有宽度

若宽度的计算值为auto且元素有固有宽度,则width的使用值为该固有宽度;

例子同上

若宽度的计算值为auto且高度有非auto的计算值,并且元素有固有宽高比,则width的使用值为高度使用值 * 固有宽高比;

典型的例子:img当只定义了其高度值时,其宽度将会根据固有宽高比进行等比设置

除此之外,当width的计算值为auto时,则宽度的使用值为300px

典型的例子:比如iframe, canvas

其它类型的置换元素,其宽度的定义都参照行内置换元素的定义。

2. 关于 行内非置换元素

对于非置换元素,直接设置width和height都是无效的,想要改变,

   可以通过改变display类型,然后再设置宽度和高度;

    或者设置line-height改变高度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351

推荐阅读更多精彩内容