我最近一直在尝试找出何时适合使用inline- block
s。它们似乎比仅一个block
元素有用得多。实际上,内联块元素似乎能够执行块元素可以做的任何事情,但是要有一些额外的样式。
与的元素有display: inline-block; width: 100%;
什么区别display: block;
吗?(除了一个更长的事实?)
您所说的完全正确:“内联块元素似乎能够执行块元素可以做的任何事情,但要有一些额外的样式。” 这主要是由于两者的共同点是它们都是块容器。
但是,有一个陷阱。
块框参与块格式化上下文,内联块参与内联格式化上下文(尽管它为后代建立了块格式化上下文,就像块框在某些情况下一样)。见9.4节。基本上,这意味着将内联块当作文本对待,这又意味着通常应用于文本的大多数属性也将应用于内联块。这些特性包括text-indent
,text-align
和vertical-align
,等等。
嵌入式块的盒模型也与块盒的盒模型有所不同。第10节包含 _所有_实质性细节,但主要区别在于:
width: 100%
您可能会怀疑,如果没有声明,则内联块将缩小以适合其内容。
由于内联块是内联流动的,因此您无法使用自动左,右页边距将其居中。您text-align: center
改为使用。不用说,它必须位于自己的行上,并且同一行上不能包含任何文本,但是如果您要进行设置,width: 100%
那么这将不是问题。
内联块 永远不会 受边距崩溃的影响。
如果您尝试创建基于块的布局,则应使用display: block
。一般而言,在两者之间做出决定时,应始终默认为display: block
,并且仅选择display: inline-block
是否有充分理由(并且不,阻止利润率下降不是我认为的充分理由)。
问题内容: 我必须在屏幕高度上安装iframe。显然,我希望宽度为100%,但是由于这种方法不起作用,因此我使用了100vh。但是像vw这样的vh并不完全是100%。在我的笔记本电脑中,通过镀铬虽然100%的宽度可以完美呈现而不需要水平滚动条,但vw大约可以增加一厘米。 问题答案: vw和vh分别代表视口宽度和视口高度。 使用代替的区别在于,虽然将使元素适合所有可用空间,但视口宽度具有特定的度量,
我有两个面板,一个是边栏,100%高,100px宽(紫色),我还有一些按钮(橙色),然后我有一个右面板,顶部div是100%宽,100px高(绿色),这个面板包含3个右浮动按钮(灰色)。 现在在这个顶部面板下方,我有一个内容div,应该是剩余宽度的100%和剩余高度的100%(黄色),但是当您添加更多侧边栏按钮(橙色按钮)时,黄色面板会在底部插入一个白色边框,如果您调整浏览器窗口的大小,它也水平放
问题内容: 我一直在尝试移植一些Linux驱动程序,并且意识到内核版本2.4与2.6的Linux之间存在实质性差异。 在2.4版本的内核中,模块编程如下- 但是,对于2.6版本的内核,必须对模块执行以下操作- 内核2.6中进行此类更改有何优势?为什么在Linux内核2.6中需要进行此更改? 问题答案: 如果您查看新功能的定义: 您会看到它确保包含正确的样板文件,以便编译器可以正确处理这些特殊功能。
问题内容: 我在只有包的地方使用Java。我知道还有其他编程语言也包含模块。 有什么不同? 问题答案: 很难比较空白中的语义。(您还说什么其他语言?)“模块”可能类似于Java类,Java包或完全其他的东西,具体取决于该其他语言。通常,由于“模块”通常来自过程语言,因此我倾向于讲Java类,但是我认为那一线 很 模糊,您可以令人信服地争论一下程序包。
我有Java的背景,我是Python的新手。在继续之前,我想确保我正确理解Python术语。 我对模块的理解是:一个可以由许多脚本导入的脚本,以便于阅读。就像在java中一样,您有一个类,该类可以由许多其他类导入。 我对库的理解是:库包含许多模块,这些模块因其用途而相互分离。 我的问题是:图书馆就像包裹一样,你有一个包裹,例如叫做食物的包裹,那么: 巧克力。py 糖果。py 比斯切茨。py公司 是
问题内容: 我在书中看到了一段代码,内容如下: 范围和块都一样吗? 问题答案: 作用域是您可以引用变量的地方。块定义了一个变量,该变量在一个块内部定义,将仅在该块内部定义,并且在块结束后不能引用它。 因此,在这段代码中,如果您尝试执行以下操作: 因为这里拥有的是局部作用域 ,所以java中的其他种类的作用域都是(例如),所以类的成员具有类作用域,因此可以在类内部的任何地方访问它。 范围的基本规则是