开发小结-元素布局定位样式细节问题

本文聚焦前端样式设计,介绍三个常见问题及解决办法。一是外部框架设计,用box-sizing和padding替代margin设置间隙;二是列表布局中文字定位,将离文本最近父元素设为相对定位;三是文本溢出处理,给出父元素不设高度、设行高或在文本元素设溢出处理等方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景一:设计外部框架细节时,往往将最外层盒子样式设置为width:100vw;height:100vh,将盒子尺寸设置为设备屏幕大小,而在第二层盒子中,一般设置会与最外层盒子有一定间隙,但是使用margin去设置间隙,就会导致最外层盒子被撑开,且样式也没有达到效果

比较好的方法是将最外层盒子的box-sizing设置为boder-box,然后设置padding间距就可以实现效果了

场景二:在列表布局中,设计有文字位于图片上的现象,一般情况下,只是将文本元素设置为绝对定位,然后通过magin调整上下距离,通过left、right调整左右距离,这样的样式设计在列表数据未超出盒子范围的前提下是可行的,但是一旦超出范围出现滚动条,随之滚动时就会出现文本不随列表项位置移动的问题

因为绝对定位是相对于最近且非static的父元素定位的,就上文的设计,文本内容目前是相对html元素的,所以不会随列表项移动。

比较好的方法是将离文本最近的父元素设置为相对定位,相对定位是相对其原本的位置定位,若是已定好样式,只要不设置left此类样式,就能既不改变当前样式,同时能让文本的定位是相对最近的父元素定位,就能让文本随列表项移动

场景三:文本溢出处理,可根据以下代码实现由...替代溢出文本,但是如果效果展示异常(如下图),溢出有处理,但是文本也全展示的现象,就需要寻找问题出现原因

最后确定出现原因在于设置文本溢出处理的元素上,溢出处理是设置在父元素上,且父元素设置了高度

目前有几个可行的方法:

  1. 父元素不设置高度(如果父元素一定要设置高度的情况下不建议,比如列表项)
  2. 父元素设置行高line-height为高度大小(仅建议使用在只允许展示一行文本信息的情况下,还能实现垂直居中的效果,但是超过一行文本展示的话可能样式不太好看)
  3. 在文本元素上设置溢出处理且不设置高度,而父元素不做溢出处理(建议使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值