为了账号安全,请及时绑定邮箱和手机立即绑定

如何把一个大于父元素的div居中,并隐藏多余部分?

如何把一个大于父元素的div居中,并隐藏多余部分?

熠熠生阳 2016-05-04 22:38:00
 子元素居中,隐藏黄色部分,求问有哪些方法如中间的图片效果
查看完整描述

5 回答

?
不拘艺格

TA贡献12条经验 获得超8个赞

定位。

父级应用相对定位position:relative;,子级应用绝对定位position:absolute;,并且用外边距应用负的子级宽度的一半(margin-left:-(子级宽度/2)单位),居上下位置和左右的方法相同。

并且父级还要应用溢出隐藏属性:overflow:hidden;。

代码如下:

.divFather { width:400px; height:500px; position:relative; overflow:hidden;}
.divSon { width:500px; height:300px; position:absolute; top:50%;left:50%; margin:-150px -250px;}


查看完整回答
1 反对 回复 2016-05-05
?
炎瓒

TA贡献5条经验 获得超2个赞

1、我不知道你为什么要这样做,没有实战的意义。你完全可以用两个同级元素来做这样的效果;margin或padding,z-index;如果想把他们做成一个整体,你可以在外面包裹一层,以免他们受影响;

2、你子元素在父元素中,想要两边都超过父元素,你就需要子元素脱离文档流,脱离当前的层级关系。用定位来做;

3、其它的我没想到了。

查看完整回答
1 反对 回复 2016-05-04
  • 熠熠生阳
    熠熠生阳
    嗯,这样做是为了完成一个设计稿作业,要用响应式布局隐藏部分元素,并且不能出现横向滚动条
?
熠熠生阳

TA贡献11条经验 获得超3个赞

写好了:

.g-bd .m-workplace { width: 1200px; overflow: hidden; position: relative; margin: 0; padding: 0; }

.g-bd .m-workplace .box { position: absolute; left: -50%; margin-left:600px; width: 1616px; }

还有什么方法吗?

查看完整回答
反对 回复 2016-05-04
?
熠熠生阳

TA贡献11条经验 获得超3个赞

是不是父元素相对定位,子元素绝对定位.子元素left设置-50%,在向右父元素一半长度,可是写出来运行错误.是不是中间还要加个div

查看完整回答
反对 回复 2016-05-04
  • 炎瓒
    炎瓒
    相对定位:你需要在父元素的上级,找到参照;绝对定位:是相对于body的(0,0) 你这应该是子元素相对定位(相对于父元素)
  • 5 回答
  • 0 关注
  • 3054 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信