首页 > 解决方案 > 如何在html中调整窗口大小时隐藏文本调整

问题描述

我这里有一个网站代码

document.getElementById("main").style.marginRight = "165px";
var mini = true;
function toggleSidebar() {

  if (mini) {
    console.log("opening sidebar");
    document.getElementById("mySidebar").style.width = "250px";
    document.getElementById("main").style.marginRight = "0px";
    document.getElementById("main").style.marginLeft = "250px";
    document.getElementById("mySidebar2").style.width = "0px";

    this.mini = false;
  } else {
    console.log("closing sidebar");
    document.getElementById("mySidebar").style.width = "85px";
    document.getElementById("main").style.marginRight = "165px";
    document.getElementById("main").style.marginLeft = "85px";
     document.getElementById("mySidebar2").style.width = "165px";

    this.mini = true;
  }
}
@media only screen and (min-width: 600px) {
  body {
    font-family: "Lato", sans-serif;
  }
  #mySidebar{
    display:block;

  }
  #circularMenu1{
    display:none;
  }

  .sidebar {
    height: 100%;
    width: 85px;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    transition: 0.5s;
    overflow-x: hidden;
    padding-top: 60px;
    white-space: nowrap;
  }

  .sidebar2 {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

  .sidebar a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
  }

  .sidebar a:hover {
    color: #f1f1f1;
  }

  main .sidebar {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
  }

  .material-icons,
  .icon-text {
    vertical-align: middle;
  }

  .material-icons {
    padding-bottom: 3px;
    margin-right: 30px;
  }

  #main {
    padding: 16px;
    margin-left: 85px;
    transition: margin-left 0.5s;

  }

  @media screen and (max-height: 450px) {
    .sidebar {
      padding-top: 15px;
    }
    .sidebar a {
      font-size: 18px;
    }
  }

}

@media only screen and (max-width: 599px){

body {
  background-color:#26394E ;
}
.circular-menu {
  position: fixed;
  top: 1em;
  right: 1em;
}
#mySidebar{
  display:none;
}
#circularMenu1{
  display:block;
}

.circular-menu .floating-btn {
  display: block;
  width: 3.5em;
  height: 3.5em;
  border-radius: 50%;
  background-color: #FED057;hsl(4, 98%, 60%);
  box-shadow: 0 2px 5px 0 hsla(0, 0%, 0%, .26);
  color: hsl(0, 0%, 100%);
  text-align: center;
  line-height: 3.9;
  cursor: pointer;
  outline: 0;
}

.circular-menu.active .floating-btn {
  box-shadow: inset 0 0 3px hsla(0, 0%, 0%, .3);
}

.circular-menu .floating-btn:active {
  box-shadow: 0 4px 8px 0 hsla(0, 0%, 0%, .4);
}

.circular-menu .floating-btn i {
  font-size: 1.3em;
  transition: transform .2s;
}

.circular-menu.active .floating-btn i {
  transform: rotate(0deg);
}

.circular-menu:after {
  display: block;
  content: ' ';
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
  /*background-color: hsl(4, 98%, 60%);*/
  transition: all .5s ease;
}



.circular-menu .items-wrapper {
  padding: 0;
  margin: 0;
}

.rotate-30{ transform: rotate(30deg); }
.rotate-60{ transform: rotate(60deg);}
.rotate-90{ transform: rotate(90deg);}

.circular-menu .menu-item {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  display: block;
  text-decoration: none;
  color: hsl(0, 0%, 100%);
  font-size: 1em;
  width: 3.5em;
  height: 3.5em;
  border-radius: 50%;
  text-align: center;

  line-height: 3;
  background-color: hsla(0,0%,0%,.1);
  transition: transform 1s ease;/*, background .2s ease;*/
}


.circular-menu .menu-item:hover {
  background-color: hsla(0,0%,0%,.3);
  transform: scale(2);

}


.circular-menu.active .menu-item {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


.circular-menu.active .menu-item:nth-child(1) {
  transform: rotate(360deg) translate(-210px)  scale(1);
}

.circular-menu.active .menu-item:nth-child(1):hover {
  transform: rotate(360deg) translate(-210px)  scale(1.1);
  color:red;
}

.circular-menu.active .menu-item:nth-child(2) {
  transform: rotate(330deg) translateX(-210px) scale(1.1);
}

.circular-menu.active .menu-item:nth-child(2):hover {
  transform: rotate(330deg) translateX(-210px) scale(1.2);
  color:red;
}

.circular-menu.active .menu-item:nth-child(3) {
  transform:  rotate(300deg) translateX(-210px) scale(1.2);
}

.circular-menu.active .menu-item:nth-child(3):hover {
  transform:  rotate(300deg) translateX(-210px) scale(1.3);
  color:red;
}

.circular-menu.active .menu-item:nth-child(4) {
  transform: rotate(270deg) translateX(-210px) scale(1.3);
}

.circular-menu.active .menu-item:nth-child(4):hover {
  transform: rotate(270deg) translateX(-210px) scale(1.4);
  color:red;
}
}


/**
 * The other theme for this menu
 */
    <link rel="stylesheet" href="s21.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" rel="stylesheet">

<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
  </head>
  <style media="screen">



  </style>
  <body>
  <!--  <div id="circularMenu" class="circular-menu">

  <a class="floating-btn" onclick="document.getElementById('circularMenu').classList.toggle('active');">
    <i class="fa fa-plus"></i>
  </a>

  <menu class="items-wrapper">
    <a href="#" class="menu-item fa fa-facebook"></a>
    <a href="#" class="menu-item fa fa-twitter"></a>
    <a href="#" class="menu-item fa fa-google-plus"></a>
    <a href="#" class="menu-item fa fa-linkedin"></a>
  </menu>

</div>-->


<div id="circularMenu1" class="circular-menu circular-menu-left">

  <a class="floating-btn" onclick="myFunction();">
    <i id="yup" class="fa fa-bars"></i>
  </a>

  <menu class="items-wrapper">

      <a href="#" class="menu-item "><i class="fa fa-home"></i></a>


    <a href="#" class="menu-item "><i style="margin-left:7px;" class="fa fa-user rotate-30"></i></a>
    <a href="#" class="menu-item "><i style="margin-left:20px;margin-top:20px;" class="fa fa-info  rotate-60"></i></a>
    <a href="#" class="menu-item "><i style="margin-top:40px;padding-right:2px;" class="fa fa-cog  rotate-90"></i></a>
  </menu>

</div>




<div id="mySidebar" class="sidebar" onmouseover="toggleSidebar()" onmouseout="toggleSidebar()">
  <a href="#"><span><i class="material-icons">info</i><span class="icon-text">about</span></a><br>
  <a href="#"><i class="material-icons">spa</i><span class="icon-text"></span>services</a></span>
  </a><br>
  <a href="#"><i class="material-icons">monetization_on</i><span class="icon-text"></span>clients</span></a><br>
  <a href="#"><i class="material-icons">email</i><span class="icon-text"></span>contact<span></a>
</div>

<div id="main">

  <p>To close the sidebar, move your mouse out of the sidebar.The side navigation component provides an easy way to navigate through your website. Its appearance & behaviour are easily adjustable with data-mdb-attributes and methods - additional functionality such as touch events and focus trap (in an over mode) are available out of the box.

Note: Read the API tab to find all available options and advanced customization

Video tutorial


Note: This component requires MDB Pro Essential package.


Basic example
In the basic version, the side navigation will appear over your website's content after clicking on a toggler.

Note: Use show and hide methods to toggle navigation with JavaScript.

Note: Adding the show class to a sidenav collapse element will expand this category on render.

Link 1
Category 1
Link 2
Link 3
Category 2

Access restricted
To view this code you must have an MDB Pro account

Purchase MDB Pro if you are a new user or Log in if you already have it


Positioning
While using the side and push modes, you can specify the selector for your page's content - this way, the component will automatically update paddings and margins. To customize this behaviour in a non-standard way, use a combination of media queries & update.mdb.sidenav event

Select mode:

Link 1
Category 1
Category 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc magna massa, ornare quis interdum a, cursus in quam. Quisque risus libero, cursus eget eros vitae, aliquam placerat velit. Vivamus luctus eros id sagittis luctus. Pellentesque felis nulla, rhoncus viverra nunc vitae, viverra aliquam ante. Ut feugiat mattis tempor.

Access restricted
To view this code you must have an MDB Pro account

Purchase MDB Pro if you are a new user or Log in if you already have it


Colors example
Setting the color attribute will change the background and font color of active/hovered links and categories.

Note: This option works for MDB 5 main colors - primary, secondary, warning, danger, success, info, dark and light.

Select color:


Link 1
Category 1
Category 2

Access restricted
To view this code you must have an MDB Pro account

Purchase MDB Pro if you are a new user or Log in if you already have it


Dark example
When using the darker background with the side navigation, we recommend setting the color attribute to "light" for better contrast.

Link 1
Category 1
Category 2

Acce</p>
</div>

<div id="mySidebar2" class="sidebar2" style="width:165px">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>



<script>
function myFunction() {
  document.getElementById('circularMenu1').classList.toggle('active');
  document.getElementById('yup').classList.toggle("fa-times");

}
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

  </body>

它有两个sidenav,一个在右边,一个在左边。当一个显示时,另一个崩溃。然而,中间的文本会被重新调整,但我已经设置了宽度,这样如果仍然不受 sidenav 的打开和折叠的影响。但是导航打开时的文本调整是我想要删除的。

我希望文本在左侧导航打开时平滑地向右移动,并在左侧导航关闭时平滑地返回。请指导我该怎么办?

标签: javascripthtmlcss

解决方案


transition: margin-left 0.5s将您#main在 CSS 中的内容更改为transition: all 0.5s.

因此,您的 CSS 文件中有以下内容:

  #main {
    padding: 16px;
    margin-left: 85px;
    transition: all 0.5s;
  }

推荐阅读