在div上使用resizable函数将另一个div移动到下一行

时间:2016-03-03 21:04:18

标签: javascript html css css3 resize

我对javascript / Html / CSS非常陌生,必须使用它在一个现有网站中添加小功能。我打算有一个可调整大小的部门,这样如果我们在分区的左侧有一个更大的图像/绘图,它可以调整大小。该部门的右侧是文字。 我使用了resizable()函数,当我调整第一个分区时,另一个分区进入一个新行。我不知道如何解决这个问题。当页面加载时,我需要背景分区有50%的宽度和textfield有47.5%。但是,在调整背景分区大小时 - 文本字段应自动调整其宽度。

编辑:修正了html错字问题。

代码:https://jsfiddle.net/yguw/t3e9xgbg/

请建议我如何解决这个问题。

<html>
<head>
<meta charset="utf-8">
<title>TEST</title>
<link rel="stylesheet" type="text/css" href="../css/test.css">
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.css">
<link rel="stylesheet" type="text/css" href="../css/jquery-ui-1.11.4.min.css">
<link rel="stylesheet" type="text/css" href="../css/menu.css">
<link rel="stylesheet"  href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
  $("#background").resizable();
});

</script>
</head>

<body>
<!-- Code block start - NT -->
<div class="topbar">
 <div class="topbarleft">
  <div class="searchbarleft">
    <p>testing</p>
  </div>
  <div class="searchbarright">
    <input type="text" id="box" name="fname" size="50">
  </div>
 </div>
 <div class="topbarright">
  <div class="topbarleft">
  </div>
  <div class="topbarright">
    <a href='/test/r/signout' style='color:white;'>SignOut</a>
  </div>
  </div>
</div>
<div class="mainDiv">
<div id="background" class="background"></div>
<div id="textField" class="textField">
</div>
</div>
<!--<script type="text/javascript" src="../js/testYG.js"></script> -->

</body>


<div class="mainDiv">
<div id="resizable" class="background" id="background"></div>
<div id="resizable" class="textField" id="textDivField">
</div>
</div>
</html>

1 个答案:

答案 0 :(得分:1)

而不是浮动,您可以使用display:table或flex来绘制一行。

    $(function() {
      $("#background").resizable();
    });
.mainDiv {
  height: relative;
  display:table;
  width:100%;
}

:root {
  background: 900px;
  position: relative;
}

#background {
  background-color: rgb(255, 200, 240);
  height: 50vh;
  width:50%;
  display:table-cell;
  margin: 0;
}

#textField {
  background-color: rgb(240, 240, 200);
  display:table-cell;
  padding: 1%;
}
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
 

  <div class="topbar">
    <div class="topbarleft">
      <div class="searchbarleft">
        <p>testing</p>
      </div>
      <div class="searchbarright">
        <input type="text" id="box" name="fname" size="50">
      </div>
    </div>
    <div class="topbarright">
      <div class="topbarleft">
      </div>
      <div class="topbarright">
        <a href='/test/r/signout' style='color:white;'>SignOut</a>
      </div>
    </div>
  </div>
  <div class="mainDiv">
    <div id="background" class="background"></div>
    <div id="textField" class="textField">
    </div>
  </div>

$(function() {
  $("#background").resizable();
});
.mainDiv {
  height: relative;
  display: flex;
}
:root {
  background: 900px;
  position: relative;
}
#background {
  background-color: rgb(255, 200, 240);
  height: 50vh;
  width: 50%;
  margin: 0;
}
#textField {
  background-color: rgb(240, 240, 200);
  position: relative;
  flex: 1;
  padding: 1%;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>


<div class="topbar">
  <div class="topbarleft">
    <div class="searchbarleft">
      <p>testing</p>
    </div>
    <div class="searchbarright">
      <input type="text" id="box" name="fname" size="50">
    </div>
  </div>
  <div class="topbarright">
    <div class="topbarleft">
    </div>
    <div class="topbarright">
      <a href='/test/r/signout' style='color:white;'>SignOut</a>
    </div>
  </div>
</div>
<div class="mainDiv">
  <div id="background" class="background"></div>
  <div id="textField" class="textField">
  </div>
</div>