知识点积累
HTML
CSS
1. 行盒和块盒是 CSS 盒模型中的两种基本盒子类型,它们有以下区别:
行盒是由一行内的一组连续的行内元素组成的,而块盒则可以包含多个行盒和其他块盒。
行盒的宽度是由其包含的行内元素的宽度决定的,而块盒的宽度可以通过设置宽度属性或使用默认宽度来确定。
行盒的高度是由其包含的行内元素的高度决定的,而块盒的高度可以通过设置高度属性或使用默认高度来确定。
行盒的布局方式是从左到右排列,而块盒的布局方式是从上到下排列。
总之,行盒和块盒在 CSS 盒模型中有着不同的作用和表现形式,开发者需要根据实际需求来选择使用哪种类型的盒子。
2. 行盒元素有哪些?块盒元素有哪些?行块盒元素有哪些?他们各有什么区别?
行盒元素是指在CSS中具有”inline”或”inline-*”值的display属性的元素。常见的行盒元素包括
<span>、<a>、<strong>、<em>等。行盒元素在布局时会尽量紧凑地排列在一行上,并根据内容的大小进行调整。块盒元素是指在CSS中具有”block”或”inline-block”值的display属性的元素。常见的块盒元素包括
<div>、<p>、<h1>到<h6>等。块盒元素会独占一行,宽度默认为父元素的100%。行块盒元素是指既具有行盒特性又具有块盒特性的元素。常见的行块盒元素包括
<button>、<input>、<textarea>等。行块盒元素会独占一行,但宽度根据内容自适应。
注意:这些元素之间的区别主要在于它们的布局特性和默认显示方式。行盒元素会尽量紧凑地排列在一行上,而块盒元素会独占一行。行块盒元素则具有行盒和块盒的特性,既能在一行上排列,又能独占一行。这些特性对于页面布局和元素排列非常重要,开发者可以根据需要选择合适的元素类型来实现所需的布局效果。
3. 高度坍塌问题
在CSS中,高度坍塌(Collapsing Margins)是指当两个或多个垂直相邻的元素具有相邻的外边距时,外边距会合并成一个较大的外边距,而不是简单地相加。
高度坍塌可能会导致意外的布局效果,特别是在垂直方向上。这种行为符合CSS规范的定义,但在某些情况下可能并不是我们期望的。
下面是一些解决高度坍塌的常见方法:
使用
padding代替margin:如果可能,你可以使用padding属性替代margin属性。padding不会导致高度坍塌,因此可以避免这个问题。使用
overflow: auto或overflow: hidden:将容器元素的overflow属性设置为auto或hidden,可以创建一个新的块格式化上下文(Block Formatting Context),这样可以阻止外边距的合并。使用浮动(float):对于某些布局需求,将元素浮动也可以解决高度坍塌的问题。浮动元素会创建一个新的块格式化上下文,从而阻止外边距的合并。
使用
display: inline-block:将元素的display属性设置为inline-block,可以防止外边距的合并。不过需要注意的是,这可能会对布局造成其他影响,比如会引入行框(line box)和文字基线(baseline)的调整。使用
border或outline:为元素添加一个边框(border)或轮廓线(outline),可以阻止外边距的合并。这是一种常见的技巧,尤其是在布局中需要使用margin的情况下。
JS
在 JavaScript 中,有几种方法可以将数字取整到整数:
使用 Math.round() 方法将数字四舍五入为最接近的整数。
使用 Math.ceil() 方法将数字向上取整为最接近的整数。
使用 Math.floor() 方法将数字向下取整为最接近的整数。
使用 parseInt() 或 parseFloat() 方法将数字转换为整数或浮点数。如果使用 parseInt() 方法,可以通过传递第二个参数来指定数字的进制。例如,parseInt(‘10’, 2) 将把二进制字符串 ‘10’ 转换为十进制整数 2。
前端工程师工作中场合用的20个方法集合
1 | //1 打印当前时间 |



