当浏览器屏幕变小时,Html元素会丢失

时间:2018-04-18 11:59:43

标签: html css



 <style type="text/css">
        * {margin: 0px; padding: 0px;}
       #Header {width:100%;height: 100px;background-color: black;}
       #Header #Tools { width: 600px;height: 100px;line-height: 100px;float: left;background-color: brown;overflow:hidden}
       #Header #Tools a {position:relative; text-align:center;padding-left:50px; padding-right:50px;border-style:solid;border-width: 5px;border-color: chartreuse;text-decoration: none;font-size: 20px;color: aliceblue;}
       #Header #Tools li { float: left;list-style: none;}
       #Header #Login {width: 150px;height: 100px; background-color: brown;float: right;line-height: 100px}
       #Header #Search {width: 700px; height: 100px;float: left;line-height: 100px; padding-left: 200px;position:relative}
       #Header #Search #Text {border:0px;height: 38px;width: 300px;padding-left: 10px; font-size: 15px;position:absolute;top:31px}
       #Header #Search #Submit {border-style: none;background: url("../pictures/search.jpg");width: 35px;height: 38px;position:absolute;top:31px;left:500px}
       #Header #Login a {border-color: chartreuse;text-decoration: none;font-size: 20px;color: aliceblue;padding-left: 10px}
       #Header #Tools .tools1_content {display:none;border-width:2px;border-style: solid;border-color:red; width: 400px;height: 250px;background-color: burlywood;position:absolute;top:80px;left:50px}

    </style>
&#13;
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>TestPage</title>
    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script> 
</head>
<body>
    <div id="Header">
        <div id="Tools">
            <ul>
                <li id="Li" onmouseover="showdiv()" onmouseout="hidediv()">
                    <a href="#">Tools1</a>
                    <div class="tools1_content" id="Li_div">
                        <div>SubTools1</div>
                    </div>
                </li>
                <li>
                    <a href="#">Tools12</a>
                    <div class="tools1_content">
                        <div>SubTools2</div>
                    </div>
                </li>
                <li>
                    <a href="#">Tools13</a>
                    <div class="tools1_content">
                        <div>SubTools3</div>
                    </div>
                <li/>
           </ul>
        </div>
        <div id="Search">
            <form>
                <input id="Text" type="text" placeholder="please enter keywords to search" />
                <input id="Submit" type="submit" value="" />
            </form>
        </div>
        <div id="Login">
            <a href="#">Loagin</a>
            <a href="#">Info</a>
        </div>

        <div id="Content_Left">
            <ul>
                <li>T1</li>
                <li>T2</li>
                <li>T3</li>
            </ul>
        </div>
    </div>
</body>
</html>
&#13;
&#13;
&#13;

The Normal behavior

The issues

我只是希望它们在一条水平线上,但是当我拖动浏览器边缘时导致浏览器屏幕变小。

html元素将降至意外位置。我希望它们只在标题div中更改。

1 个答案:

答案 0 :(得分:0)

除非您需要Internet Explorer支持,否则不应使用float进行布局。因为flex在IE&lt; 10中根本不起作用,并且在IE&gt; = 10中是错误的。

Flexbox广泛使用(显示:flex),你应该依赖它。

您需要将元素的宽度移除或调整为%值,以保持一切响应。 我将flex作为显示设置为父元素已经保持元素水平对齐。 (见下文)

此外,您应尽量避免绝对显示,并尝试尽可能使用%或“em”值。它们比静态px值更具响应性和动态性。

资源:https://developer.mozilla.org/en-US/docs/Web/CSS/flex 响应式设计(根据不同尺寸调整设计):https://developer.mozilla.org/de/docs/Web_Development/Mobile/Responsive_design

<style type="text/css">
* {
  margin: 0px;
  padding: 0px;
}

#Header {
  width:100%;
  height: 100px;
  background-color: black;
  display: flex;
}

#Header #Tools {
  margin: 0;
  padding: 0;
  width: 50%;
  height: 100px;
  line-height: 100px;
  background-color: brown;
  overflow:hidden
}

#Header #Tools li {
  display: inline;
  list-style: none;
  margin-left: 20px
}

#Header #Tools a {
  position:relative;
  text-align:center;
  padding-left:50px;
  padding-right:50px;
  border-style:solid;
  border-width: 5px;
  border-color: chartreuse;
  text-decoration: none;
  font-size: 20px;
  color: aliceblue;
}



#Header #Login {
  height: 100px;
  background-color: brown;
  line-height: 100px
}
       
#Header #Search {
  width: 40%;
  height: 100px;
  line-height: 100px;
  margin-left: 5%;
  position:relative
}

#Header #Search #Text {
  border:0px;
  height: 38px;
  padding-left: 10px;
  font-size: 15px;
  position:relative;
}

#Header #Search #Submit {
  border-style: none;
  background: url("../pictures/search.jpg");
  width: 35px;
  height: 38px;
  position:relative;
}

#Header #Login {
  width: 10%;
  border-color: chartreuse;
  text-decoration: none;
  font-size: 20px;
  color: aliceblue;
  padding-left: 10px
}

#Header #Login a {
  border-color: chartreuse;
  text-decoration: none;
  font-size: 20px;
  color: aliceblue;
  padding-left: 10px
}

#Header #Tools .tools1_content {
  display:none;
  border-width:2px;
  border-style: solid;
  border-color:red;
  height: 250px;
  background-color: burlywood;
  position:absolute;
  top:80px;
  left:50px
}

#Content_Left{
  display: none;
}
</style>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>TestPage</title>
    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script> 
</head>
<body>
    <div id="Header">
            <ul id="Tools">
                <li id="Li" onmouseover="showdiv()" onmouseout="hidediv()">
                    <a href="#">Tools1</a>
                    <div class="tools1_content" id="Li_div">
                        <div>SubTools1</div>
                    </div>
                </li>
                <li>
                    <a href="#">Tools12</a>
                    <div class="tools1_content">
                        <div>SubTools2</div>
                    </div>
                </li>
                <li>
                    <a href="#">Tools13</a>
                    <div class="tools1_content">
                        <div>SubTools3</div>
                    </div>
                <li/>
           </ul>
        <div id="Search">
            <form>
                <input id="Text" type="text" placeholder="please enter keywords to search" />
                <input id="Submit" type="submit" value="" />
            </form>
        </div>
        <div id="Login">
            <a href="#">Loagin</a>
            <a href="#">Info</a>
        </div>
        <div id="Content_Left">
            <ul>
                <li>T1</li>
                <li>T2</li>
                <li>T3</li>
            </ul>
        </div>
    </div>
</body>
</html>