4-5编程?元素居中的冲突问题
1 2 3 4 5 6 7 | *{ margin : 0 ; padding : 0 ; list-style-type : none ;} div.big{ text-align : center ;} h 3 { background : #dbdbdb ; padding : 8px ; border : thin solid #BDC4DE ; margin-left : 30% ; margin-right : 30% ;} ul{ display : none ;} .div 1: hover ul{ display : block ;} .div 2: hover ul{ display : block ;} .div 3: hover ul{ display : block ;} |
这是我最先写的代码,后来发现不论给哪里(ul或相对应的class值)添加border属性,弹出的列表都没有边框。
当改变h3的属性定义之后,即:
1 2 | h 3 { width : 100px ; border : 1px solid pink;} ul{ display : none ; width : 100px ; border : 1px solid pink;} |
结果又不居中显示
但是加上“margin:quto;"之后,又可以居中显示。这是为何?
1 2 | h 3 { width : 100px ; border : 1px solid pink; margin : auto } ul{ display : none ; width : 100px ; border : 1px solid pink; margin : auto ;} |
21
收起
正在回答
3回答
替换第二段代码后,外侧和里层的div 没有设置宽度,所以默认充满整个容器。text-align 只是对文字进行居中,所以没有实现整体居中,里面h3 和 ul 设置了宽度,设置了margin值后,使其针对父元素居中,希望解答你的疑惑,欢迎采纳,加油!
a1376743421
2018-05-03 15:25:34
补充:最先的那段代码,补充border属性后可以显示边框。问题就是下面那两段代码,关于margin的问题
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧