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

如何解决给标题添加上边框时标题元素文字下沉?

看演示文字好像也下沉了,怎么才能让文字不移动位置?

正在回答

1 回答

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* 
     标签和文本结合区域效果制作:
     1.用ul做分类标签
     2.把ul的display定义为block使ul区域和下面div区域结合在一起
     3.给ul定义一个下边框或者给div内容区域定义一个上边框
     4.所有li标签默认样式不设下边框,作为激活显示的li标签加宽其#fff(白色)
     区域的下边框,覆盖。
     */  
        /*全局元 素内边距0 外边距0 字体微软雅黑 12px 不加粗*/
        *{padding:0px;margin: 0px;font:12px normal "microsoft yahei";}
        
        /*以下是3个标签部分CSS*/
        /*div标签 宽290px 内边距 5px 高150px 外边距20px(这里,div标签在相对于浏览器)*/
        #tabs {width:290px;padding:5px;height:150px;margin:20px;}
        
        /* ul 去除无序列表的小圆点  显示为块级元素,独占一行  高度30px 行间距30px  边框底部实线重褐色 2px*/
        #tabs ul{list-style:none;display: block;height:30px;line-height:30px;border-bottom:2px saddlebrown solid;}
        
        /*li  背景绿色 手型光标 浮动在左(相对于div容器) 去除li的样式 li高28px 行间距28px(为了让文字垂直居中设置与行高相同)左右与div边距3px 边框实线1px灰色 底部无边框  具有块级元素和内联元素的双重属性,同行,能设宽高 宽60px 文章水平据中*/
        #tabs ul li{background:#0F0;cursor:pointer;float:left;list-style:none;height:28px;line-height:28px;margin:0px 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align: center;}
        
        /* 边框顶部2px 实线 重褐色#fff 白色(不显示)*/
        #tabs ul li.on{border-top:2px solid saddlebrown;border-bottom: 2px solid #fff;}
        
        /*以下是内容部分*/
        /*高120px 行间距25px 边框实线1px蓝色 顶部无边框 内边距5px*/
        #tabs div{height:120px;line-height: 25px;border:1px solid #336699;border-top:none;padding:5px;}
       
         /*hide元素不会被显示*/
        .hide{display: none;}
    </style>
    <script type="text/javascript">
     window.onload=function(){
        var oTab = document.getElementById("tabs")
        var li = document.getElementsByTagName("li");
        var div = oTab.getElementsByTagName("div");//oTabs.get...是为了定义className作用对象为id为tabs下的所有文本div
        
        for(var i=0;i<li.length;i++){//获取所有i编号的元素
            li[i].index = i;  //定义一个index属性对li进行编号 防止闭包函数中无法正常获取当前索引i,而衍生出的一个绑定在dom元素上的数据index

            li[i].onclick = function(){//再注册一个点击事件,当点击的时候所有标签都恢复最初状态
            for(var n=0;n<li.length;n++){//这步是相对于未被点击部分的样式
                li[n].className = "";
                div[n].className = "hide";// div所有的div隐藏
            }
            this.className = "on";//再对点击事件添加相应的属性
            div[this.index].className = "";//通过之前的index编号绑定的指定div
            }
        }
    }
    </script>

</head>
<body>
<div id="tabs">
    <ul>
        <li>房产</li>
        <li>家居</li>
        <li>二手房</li>
    </ul>
    <div>
        275万购昌平邻铁三居 总价20万买一居<br>
        200万内购五环三居 140万安家东三环<br>
        北京首现零首付楼盘 53万购东5环50平<br>
        京楼盘直降5000 中信府 公园楼王现房<br>
    </div>
    <div>
        40平出租屋大改造 美少女的混搭小窝<br>
        经典清新简欧爱家 90平老房焕发新生<br>
        新中式的酷色温情 66平撞色活泼家居<br>
        瓷砖就像选好老婆 卫生间烟道的设计<br>

    </div>
    <div>
        通州豪华3居260万 二环稀缺2居250w甩<br>
        西3环通透2居290万 130万2居限量抢购<br>
        黄城根小学学区仅260万 121平70万抛!<br>
        独家别墅280万 苏州桥2居优惠价248万<br>

    </div>
</div>

</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

慕无忌1013911

我想问下当页面刷新没开始点击时,div的class为空,页面的布局就都乱了。那怎样使得刚点进去鼠标就点击在第一个或其它li上,出现点击时的效果;
2016-10-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何解决给标题添加上边框时标题元素文字下沉?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信