当没有控制权时,Div消失

时间:2014-02-05 03:41:29

标签: jquery asp.net css3

我有div一直在消失。如果我把一个控件放进去就可以了。我需要一些没有回发的可点击的内容,因此我可以运行jQuery函数将div切换到视图中。如果发生回发,我看到滑块功能还原。 <a/>元素有效,但我想要一张图片。如何才能显示此div

<div id="wrapper" class="m_div" style="height:30px">
<div style="height:30px;width:30px;min-height:30px;min-width:30px;background:url('/Styles/Menu.png')" ><a href="#" id="click">   </a> </div>
 <div id="slider" runat="server">
  //menu controls are here
 </div>
</div>

jQuery的:

<script type="text/javascript"  >
  $(document).ready(function () {
    $("#click").click(function () {
      $("#slider").toggle("slide", {
        direction: "left",
        distance: 280
      }, 500);
    });
  });
</script>

3 个答案:

答案 0 :(得分:1)

HTML元素总是具有适合vontents所需的最小尺寸。如果他们没有内容,他们就会“消失”。使用CSS来设置(最小)宽度 - 如果没有,那么你正在做其他错误。

不知道为什么你需要div。您可以在任何HTML元素上获取点击事件,如果这些元素具有默认操作,您可以通过在事件上调用.preventDefault()来取消它们。

答案 1 :(得分:1)

为不间断的空间HTML添加&nbsp;代码,因为这会为您提供一个“空”div,对布局影响最小:

<div class="m_div" style="height:30px">&nbsp;</div>

<div class="m_div" style="height:30px;display:block;">
<div style="height:30px;width:30px;background:url('/Styles/Menu.png')" >&nbsp;</div></div>

答案 2 :(得分:1)

您可以使用以下内容:

<a id="click" style="display: inline-block; height:30px; width: 30px; background:url('/Styles/Menu.png'); text-indent: -200px;" href="#">Click</a>

默认情况下,<a>元素是内联元素。您不能指定内联元素的宽度或高度。因此,您需要将其更改为“内联块”。注意我如何在元素体内放置文本“Click”,但是然后设置“text-indent”使它不显示。这对屏幕阅读器很有用。

jsfiddle