jquery - <head> 中的导航栏按钮随着 <body> 中的网格填充移动(向下扩展)

标签 jquery css

我正在尝试开发一个 Jquery 移动应用程序,但遇到了一个问题,我无法在网络上找到答案。该应用程序有一个带有 4 个按钮的导航栏和一个用于保存图像链接的 2 列网格。问题是当我向 block 元素添加顶部填充时,导航栏中左侧的 2 个按钮向下移动。有人可以帮忙吗!谢谢。

html文件:

<!DOCTYPE html>
<html>
<head>
<meta name=viewport content="user-scalable=no,width=device-width" />
<title>Citrus IPM Test_1</title>
<link rel="stylesheet" href="../download18Dec13/jquery.mobile-1.3.2.min.css" />
<script src="../download18Dec13/jquery-1.9.1.min.js"></script>
<script src="../download18Dec13/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="./css/my_style.css"/>
</head>

<body>

    <div data-role="header" data-position="fixed" data-theme="a">
        <div data-role="navbar">
            <ul>
                            <li><a href=# class="ui-btn-active ui-state-  persist">Insects</a></li>
                    <li><a href=# > Diseases</a></li>
                <li><a href=# >Inspection</a></li>
                <li><a href=# >Biosecurity</a></li>
            </ul>
            </div>
    </div>



    <div data-role="content">
        <div class="ui-grid-a">
            <div class="ui-block-a">
                <a href="frw.html"> <img href="#" src="./img/frw_main.png" alt="FRW"> <br>Fuller's rose weevil</a>
            </div>
            <div class="ui-block-b">
                <a href="lbam.html"> <img href="#" src="./img/frw_main.png" alt="LBAM"><br>Light brown apple moth</a>
            </div>
            <div class="ui-block-a">
                <a href="crs.html"> <img href="#" src="./img/frw_main.png" alt="CRS"><br>California red scale</a>
            </div>
            <div class="ui-block-b">
                <a href="cgw.html"> <img href="#" src="./img/frw_main.png" alt="CGW"><br>Citrus gall wasp</a>
            </div>
        </div>
    </div>


    <div data-role="footer" data-id="footer.home" data-position="fixed" data-theme="a">
         <div data-role=navbar>
            <ul>
                    <li><a href=# data-icon=arrow-l></a></li>
                    <li><a href=# data-icon=refresh></a></li>
                    <li><a href=# data-icon=arrow-r></a></li>
            </ul>
            </div>
    </div>
</body>

</html>

CSS file:

.ui-navbar .ui-btn-text {
    font-family: 'Source Sans Pro', sans-serif;
           font-size:10px;
    padding:0px; important!
 }


.ui-block-a{
font-family: 'Source Sans Pro', sans-serif;
  font-size:9px;
//height:70px;
//width:50px;
display:block;
padding:50px 0px 0px 0px;
}
.ui-block-b{
font-family: 'Source Sans Pro', sans-serif;
  font-size:9px;
//height:70px;
//width:50px;
display:block;
padding:50px 0px 0px 0px;
}

header{height:50px;width:auto;}
img{
width:auto;
//height:50px;
}

最佳答案

正如你所说。这是因为您在前两个 <li> 中添加了 padding-top .. 所以元素类 .ui-block-b.ui-block-b高度变大.. 在元素的边框内添加填充,从而使 <a>其中包含的元素下降。

[更新] 我注意到在你的 CSS 中你定义了一个

 .ui-block-b{
  font-family: 'Source Sans Pro', sans-serif;
  font-size:9px;
  //height:70px;
  //width:50px;
  display:block;
  padding:50px 0px 0px 0px;
  }

而且我认为这个类已经被 jquery 使用了。所以你添加这个padding:50px 0px 0px 0px;的事实将反射(reflect) jquery 标记为 class = ui-block-b 的那些.

要了解我的观点,请尝试使用 firebug 检查 DOM,或者如果您使用的是谷歌浏览器,请按 F12。你会看到所有<li><div data-role="navbar">下现在有 class = ui-block-<*> .所以他们受到影响。如果您想用库中的现有类覆盖页面的外观,我的建议是尝试添加另一个类名。

像这样class = "ui-block-b my_class_name"

并通过为 my_class_name 类定义样式来改变 ui-block-b 的外观。这样其他使用 ui-block-b 类的元素就不会受到影响。

关于jquery - <head> 中的导航栏按钮随着 <body> 中的网格填充移动(向下扩展),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20650630/

相关文章:

javascript - 类型错误 : value is undefined jquery

html - 在表格单元格内居中 div 但文本左对齐

html - 如果我只针对现代浏览器,是否还需要 normalize.css?

html - Bootstrap 输入 :required box-shadow override

javascript - JQuery 从 tr 动态创建的输入中获取值

javascript - 使用 javascript、php 和 mysql 的动态表单字段 : strange error

javascript - 如何使li元素悬停动态

css - 如何申请子:hover but not parent:hover

javascript - EditableGrid - 如何将每个列标题变成单独的过滤器

jquery - firebug 不会反射(reflect)更改输入值