关于inline-block布局需要注意几点事项

  之前在网上看到一个关于CSS基本布局的一个教学网站,内容很简洁,http://learnlayout.com/。有一小节是讲关于inline-block布局需要注意的几点事项,引用之。

  Inline-block : Few things that you need keep in mind

  You can also use inline-block for layouts. There are a few things to keep in mind:

  •inline-block elements are affected by the vertical-align property, which you probably want set to top

  •You need to set the width of each column

   •There will be a gap between the columns if there is any whitespace between them in the HTML

  翻译过来就是我们使用inline-block元素进行网页布局的时候,需要注意几点

  1.inline-block元素受vertical-align属性影响,你可能需要设置成vertical-align: top。

  2.我们需要设置inline-block元素的宽度。//因为inline-block元素具有收缩性(引用张鑫旭DN的形容,比较形象化),同float,绝对定位元素表现相似(这里不谈这两者是脱离文档流),收缩性的表现是元素不设置宽度,宽度由内容区决定(content area)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>"收缩性"属性</title>
    <style>
        .test{
            background-color: orange;
            /*position: absolute;*/
            /*float: left;*/
            /*display: inline-block;*/
        }
    </style>
</head>
<body>
    <div class="test">Lorem ipsum dolor sit amet</div>
</body>
</html>

  3.我们使用inline-block元素布局还有一点要注意的就是元素间可能出现一个空格大小的间隙,这个间隙是由于html源代码中,换行符/空格 导致的,解决方法有很多,我一般是在inline-block元素之间加HTML注释。假设下面li的display设置为inline-block。为消除间隙,我在li标签之间使用了注释符,当然这种方法会使代码变得冗长。

    <ul>
       <li></li><!--
    --><li></li><!--
    --><li></li>
    </ul>

  

  原文短短的三点,其实每一点都可以延伸出太多,第二点受vertical-align的影响(所有inline,inline-block元素都受到vertical-align的影响),更是会造成一些匪夷所思的问题,参考张鑫旭博客http://www.zhangxinxu.com/wordpress/?p=4925

时间: 2024-08-05 10:32:28

关于inline-block布局需要注意几点事项的相关文章

CSS display:inline|block|inline-block差异

display:inline|block|inline-block三属性的区别和联系,block就是将元素显示为块级元素,inline就是将元素 显示为行内元素,CSS display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递.旁边的内联对象会被呈递在同一行内,允许空格. 详解CSS display:inline|block|inline-block的区别 ◆CSS display:block CSS display:block就是将元素显示为块级元素. blo

inline block inline-block总结

一.block表示块级元素,其元素通常会单独成一块,独占一行: 二.inline表示内联元素,不会产生换行,其排版会在一行显示,直到一行被占满. 三.常见的块级元素有 DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等:常见的内联元素有 SPAN, A, STRONG, EM, LABEL, INPUT, SELECT, TEXTAREA, IMG, BR        等. 四.一般使用display:block与display:inline来改变元素的

inline,block,inline-block解析

display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度 <div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子. display:inline就是将元素显示为行内元素. inline元素的特点是:  和其他元素都在一行上: 高,行高及顶和底边距不可改变: 宽度就是它的文字或图

display:inline/block/inline-block

display:inline; 内联元素,简单来说就是在同一行显示.display:block; 块级元素,简单来说就是就是有换行,会换到第二行.display:inline-block; 就是在同一行内的块级元素. 说概念太模糊,来个真实案例吧. <a href="#" style="display:inline;width:100px;height:100px;background:#ccc;">链接一</a><a href=&qu

关于 inline block 元素之间的空格

本篇文章由:http://xinpure.com/about-the-inline-block-element-between-spaces/ 说点什么 display: inline-block 属性很好的避免了元素的浮动问题,但是会有点小问题,就是 inline-block 元素间的回车会被显示为一个空格.然而,我们写代码时,都是用回车来格式化的... 最简单的方法就是把 inline-block 元素之间的回车删除,就是代码显示有点不美观,影响阅读. 方法总结 以下方法不保证浏览器兼容性问

关于block使用的5点注意事项

1.在使用block前需要对block指针做判空处理. 不判空直接使用,一旦指针为空直接产生崩溃. if (!self.isOnlyNet) { if (succBlock == NULL) { //后面使用block之前要先做判空处理 return; } id data = [NSKeyedUnarchiver unarchiveObjectWithFile:[self favoriteFile]]; if ([data isKindOfClass:[NSMutableArray class]

ios开发之block的使用,及注意事项

转自:http://my.oschina.net/u/1432769/blog/390401 Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事.需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理 要么导致return cycle内存泄漏要么内存被提前释放导致crash. Block的使用很像函数指针,不过与函数最大的不同是:Block可以访问函数以外.词法

关于block使用的几点注意事项

1.在使用block前需要对block指针做判空处理. 不判空直接使用,一旦指针为空直接产生崩溃. if (!self.isOnlyNet) { if (succBlock == NULL) { //后面使用block之前要先做判空处理 return; } id data = [NSKeyedUnarchiver unarchiveObjectWithFile:[self favoriteFile]]; if ([data isKindOfClass:[NSMutableArray class]

Android开发,布局xml文件命名注意事项——不能包含任何大写字母

转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*.xml 目录下,这与网页开发时使用css控制布局类似,主要目的是使布局与程序代码分开,便于布局的修改以及控制. 如果使用eclipse平台开发,每一个Android项目,都会有一个R.java文件,该文件用于标识所有的资源,当资源文件(一般是位于res目录的下的*.xml文件)被修改了,R.java