Day 42/100(网易笔试)position跟display,margin collapse叠加使用会怎么样

写在前面的话

功不唐捐,努力不会白费

在面试的过程中,复习过的经常会碰到~

(一)题目:

position跟display,margin collapse,overflow,float这些特性叠加使用会怎么样?

 

(二)分类讨论

1、position,display和float

1)如果一个元素的display属性被设置为none,那么就不会生成元素对应的box,这种情况下,float和position被忽略

2)否则(display非none),如果一个元素的position属性被设置为absolute或者fixed(都是绝对定位),这种情况下,float被忽略(float计算的值为none),display属性的值根据下表自动计算。box的位置取决于属性top,right,bottom,left以及box的容器

3)否则(display非none,并且position非absolute、fixed),如果float的值不为null(为left或者right),那么box是浮动的并且display的值根据下表来计算

4)否则(display非none,并且position非absolute、fixed,float为none),如果元素是根元素,display的值根据下表来计算。(这种情况下有一个例外:在CSS2.1中定义,当display被指定的值是list-item时,计算结果的display的值为block或者list-item)

5)否则(display非none,并且position非absolute、fixed,float为none,不是根元素),那么就按照被指定的display的属性值来显示。

 

转换对应表

表格 display属性转换: 

指定值 inline-table   转成table

指定值 inline, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell, table-caption, inline-block    转成block

其他任何的指定值都保持不变

 

 

2、margin collapse,overflow

外边距折叠(Margin Collapse)

 

(三)相关联想

1、想到了Css如何布局(左边200px,剩下的自适应宽度)

考察的是BFC(Block Formatting Context)

1)子DOM

左Block  float:left

父级

display:flex

2、CSS3的特性——两种盒子模型:

1)标准盒模型

box-sizing:content-box;(宽度=content+padding)

2)IE浏览器下盒模型

box-sizing:border-box;(宽度=content+padding+border)

3)清除浮动

方法一:

.clear {

  clear: both;

  }

<div class="clear"></div>

方法二:

.clearfix:after{

  content: "020";

  display: block;

  height: 0;

  clear: both;

  visibility: hidden; 

  }

.clearfix {

  /* 触发 hasLayout */

  zoom: 1;

  }

 

以上

 

参考链接:

https://blog.csdn.net/sinat_36422236/article/details/88763187

https://www.cnblogs.com/wulinzi/p/8426383.html

https://tech.youzan.com/css-margin-collapse/

### 回答1: 这行代码的作用是从train数据集的"hour"列中提取出日期信息,然后将日期信息存入名为"day"的新列中。具体来说,它先对train数据集的"hour"列取模10000,这样就可以得到一个四位数的整数,表示时间信息,例如,如果"hour"列中的值为2013032912,那么取模10000之后就得到了12912。接着,它再将这个四位数整数除以100,这样就可以得到日期信息,例如,12912除以100等于129.12,即日期为3月29日。最后,它使用numpy库中的round函数将日期四舍五入为一个整数,并将结果存入名为"day"的新列中。 ### 回答2: train['day'] = np.round(train.hour % 10000 / 100) 这行代码的含义是将train数据集中的hour列取模10000再除以100,然后四舍五入得出的结果赋值给day列。 首先,train['hour']表示train数据集中的一列名为“hour”的数据。% 是取模运算符,表示取hour列中每个元素除以10000的余数。这一步的目的是为了将hour列中的数值转换为四位数,例如将123456转换为3456。然后,再将结果除以100,目的是为了将四位数转换为两位数,例如3456转换为34。最后,np.round()函数是四舍五入取整,将除以100得到的结果进行四舍五入后,赋值给train数据集中的day列。 总结来说,这行代码的作用是将train数据集中的hour列的数值进行处理,将其转换为两位数的整数,并将转换后的结果赋值给train数据集中的day列。 ### 回答3: train['day'] = np.round(train.hour % 10000 / 100)这段代码的作用是将train数据框中的hour列进行处理,将其转换为day列。 具体步骤如下: 1. train数据框中有一列名为hour的变量,它表示时间,例如1215表示12点15分。 2. 首先,对hour列进行取余数运算,使用%符号,即train.hour % 10000。 假设hour列中的一个值为1215,则1215 % 10000 = 1215。 3. 然后,将取得的结果除以100来将其转换为小时形式,即(train.hour % 10000) / 100。 继续以上例,1215 / 100 = 12.15。 4. 最后,使用np.round函数对计算结果进行四舍五入,得到整数形式的天数,即np.round((train.hour % 10000) / 100)。 以例子计算,np.round(12.15) = 12。 5. 将得到的天数保存在train数据框中的一个名为day的新变量中,即train['day'] = np.round((train.hour % 10000) / 100)。 通过这段代码的处理,我们将原来以小时表示的时间转换为以天表示的时间,并保存在train数据框中的day列中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值