首页 > 其他分享 >CSS-关于display:inline、block、inline-block的差别

CSS-关于display:inline、block、inline-block的差别

时间:2022-08-17 16:14:25浏览次数:89  
标签:设定 元素 padding block inline display CSS

什么是display(显示模式)?

每一个html标签元素都会有一个预设的display属性,标签基本上大部分可分为两种显示模式,一种是行内元素(inline),另一种为区块元素(block),我们可以在CSS内加入display来赋予新的属性,以改变其原本特性,利用它来呈现我们想要的排版。

谁是区块元素(block)? 谁是行内元素(inline)?

在使用并设定display属性时,应了解标签原本的属性是区块元素还是行内元素,以下为两者常见的标签:

常见区块元素标签:div、ul li、p、h1

常见行内元素标签:span、a、input、img

inline、block、inline-block差别在哪呢?

Inline行内元素

.元素可在同一行内呈现,图片或文字均不换行,也不会影响其版面配置
.不可设定长宽,元素的宽高由它的内容撑开
另外,常听到行内元素不能设定上下margin/padding,但并非不能设定,是排版不会随着设定改变,字仍在行内,其他行并不会被推开。

范例 范例1:display:inline
css
.box_inline{
border:1px solid black;
padding:10px;
margin:10px;

display:inline; }

由上图范例1可以看到:
.设定display:inline就会使得原本div的block改变成inline属性
.虽有设定padding及margin,但元素上下并不会把其他行推开,但若设定框线或背景颜色就会发现事实上会使得其他行被盖到。

 

Block区块元素

.元素宽度预设会撑到最大,使其占满整个容器
.可以设定长宽/margin/padding,但仍会占满一整行

范例2 : display:block
css
.box_block{
border:1px solid black;
padding:10px;
margin:10px;

width: 150px;
display:block; }
/*div原属性即为block*/..
..
..

范例2 可以发现虽然可以设定宽高/padding/margin,但其属性仍会向右占满容器,下个元素就会换行来呈现,并不会并排。

 

inline-block行内区块

.以inline的方式呈现,但同时拥有block的属性
.可设定元素的宽高/margin/padding
.可水平排列

范例3 :display:inline-block
css
.box_inline-block{
border:1px solid black;
padding:10px;
margin:10px;

display:inline-block;}..

范例3 可以发现设定display:inline-block 后,即可同时拥有block可设定宽高的属性,但其排版仍像inline属性,并不会向右占满整个容器。

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:设定,元素,padding,block,inline,display,CSS
From: https://www.cnblogs.com/StevenXunyu/p/16595557.html

相关文章

  • [LeetCode] 1314. Matrix Block Sum 矩阵区域和
    Givena mxn matrix mat andaninteger k,return amatrix answer whereeach answer[i][j] isthesumofallelements mat[r][c] for:i-k<=r<=......
  • External Constraint Blocks
    您可以将类中的约束指定为“外部”约束。一旦将一个约束声明为“extern”,必须在一个外部约束块中提供它的定义,否则将会报错。请注意,“外部”约束和内部(隐式)约束都可以由......
  • CSS flex 属性
    让所有弹性盒模型对象的子元素都有相同的长度,且忽略它们内部的内容: flex:1时: flex:0时:  flex:auto时: ......
  • css 伪类实现渐变线条
    如下图所示:  需要实现渐变的小竖线或者小横线可以用伪类,代码如下:div{position:relative;z-index:2;&::after{conte......
  • CSS display 属性
    display属性规定元素应该生成的框的类型。默认为inline。值为none为不显示 inline与block的区别:inline: block: display:flex 意思是弹性布局,它能够扩展和收缩......
  • css 隐藏元素
    display,visibility仅会改变元素显示,不会改变元素种类。可以配合js使用使元素可以动态的显示隐藏。可以使用display或visibility实现html元素的隐藏功能,但......
  • 2.如何用一行Css实现10种现代布局
    1.超级居中place-items:center 首先指定grid作为display方法,然后在同一个元素上写入place-items:center。place-items是同时设置align-items和justify-ite......
  • CSS实现单行与多行文字截断
    <style>main{width:100%;display:flex;flex-direction:column;align-items:center;}p{width:329px;text-align:justify;......
  • 【CSS】实现简单易上手的'手风琴效果'
    【CSS】实现简单易上手的'手风琴效果'点击打开视频讲解<template><divid="app"><divclass="shell"><divclass="box"><imgsrc="./assets/img......
  • CSS之轻松实现rem适配
    1.vsCode安装pxtorem&rpx(cssrem)2.修改扩展rootfontsize这样就轻松使用rem了......