CSS中的块级元素、行内元素、行内块元素

1. 块级元素 block

元素呈现“块”状,比较霸道,独占一行,所以叫块盒。可自己定义 width 和 height,可作为其他容器使用,可容纳块级元素和行内元素。

特点:

  • 每个块级元素都是独占一行;
  • 高度,行高,外边距(margin)以及内边距(padding)都可以控制;
  • 元素的宽度如果不设置的话,默认为父元素的宽度(父元素宽度100%);
  • 多个块状元素标签写在一起,默认排列方式为从上至下;

常见的块级元素:

<address>  
 <caption>  
 <dd>      
 <div>     
 <dl>    
 <dt>    
 <fieldset>  
 <form>  
 <h1>        
 <hr>    
 <legend>    
 <li>    
 <noframes>    
 <noscript>    
 <ol>  
 <ul>   
 <p>  
 <pre>   
 <table>     
 <tbody>    
 <td>    
 <tfoot>    
 <th>    
 <thead>   
 <tr>     

2. 行内元素 inline

没有块级元素那么自由,不能自己设置宽(width)和高(height),高度宽度又包含的内容的大小决定。

特点:

  • 不会独占一行,相邻的行内元素会排列在同一行里,排不下自动换行
  • 高宽无效,对外边距(margin)和内边距(padding)仅设置左右方向有效 上下无效;
  • 元素的宽度由内容撑开
  • 行内元素中不能放块级元素

   常见的块级元素:

 <a>    
 <abbr>     
 <acronym>     
 <b>     
 <bdo>    
 <big>    
 <br>     
 <cite>     
 <code>   
 <dfn>     
 <em>    
 <i>     
 <kbd>     
 <label>    
 <q>     
 <samp>    
 <select> 
 <small>   
 <span>     
 <strong>
 <sub>    
 <sup>   
 <textarea>    
 <tt>   
 <var>  
3. 行内块级元素 inline-block

同时有两方特点,很自由,自己设置宽高,不独占一行

特点:

  • 高度、行高、外边距以及内边距都可以控制;
  • 默认宽度就是它本身内容的宽度,不独占一行,但是之间会有空白缝隙,设置它上一级的 font-size 为 0,会消除间隙;

   常见的行块级元素: 

<button> 
<input>   
<textarea> 
<select> 
<img>

他们用display改变:

display:block :定义元素为块级元素

display : inline :定义元素为行内元素

display:inline-block:定义元素为行内块级元素

要将CSS块级元素对齐,有多种方法可以实现这一目标,下面是一些常见的方法: ### 方法一:使用 Flexbox 布局 Flexbox 提供了一种简便的方式来处理布局问题,包括水平和垂直居。 ```css .container { display: flex; justify-content: center; /* 水平居 */ align-items: center; /* 垂直居 */ } ``` ### 方法二:使用 Grid 布局 Grid 布局允许你更精细地控制元素的位置。 ```css .container { display: grid; place-items: center; /* 同时水平和垂直居 */ } ``` ### 方法三:设置 margin auto 属性 对于简单的场景,可以直接给块级元素添加 `margin: auto` 来实现水平居。 ```css .element { width: 100px; /* 或其他宽度值 */ margin: auto; /* 自动计算上、下、左、右的外边距使其居 */ } ``` ### 方法四:利用百分比定位 如果元素需要相对于视口居,则可以使用 `position: relative` 和 `left: calc(50% - value / 2)` 等技巧来实现。 ```css .element { position: relative; left: calc(50% - thisWidth / 2); } ``` 这里的 `thisWidth` 需要替换成实际的元素宽度。 ### 相关问题: 1. **如何确定居元素的具体位置?** 当使用 Flexbox 或者 Grid 进行居时,通常会指定容器的尺寸以及元素在其内部的位置,通过容器的属性如 `justify-content`, `align-items`, 或 `place-items` 控制元素的居效果。 2. **在响应式设计如何保持元素?** 对于响应式设计,可以结合媒体查询和上述方法,在不同屏幕尺寸下调整元素的居策略,比如使用百分比单位而不是固定像素。 3. **使用 Flexbox 或 Grid 的优势是什么?** 使用 Flexbox 或 Grid 可以更容易地创建复杂的、自适应的布局,并简化对齐和空间管理的需求。它们提供强大的工具集来控制元素的排列和布局,使得前端开发者能够更快地构建高质量的页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值