Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使导航菜单响应_Html_Css - Fatal编程技术网

Html 使导航菜单响应

Html 使导航菜单响应,html,css,Html,Css,我正在努力使我的页面导航菜单响应。目前,随着高度的降低,图标不适合在屏幕上显示。理想情况下,我想要的是一个响应性强的设计,其中所有元素都随页面高度缩放(即图标和文本缩小以适应) 到目前为止,我只能让设计使用如下硬编码值。这需要多个断点,我正试图避免这些断点,因为要使所有内容与硬编码的值恰好匹配,这是一个太长的过程 .topnav{ 位置:固定; 宽度:100%; 宽度:100vw; 背景色:透明; } .topnav#myLinks{ 显示:块; 位置:固定; 最高:15%; 高度:85vh

我正在努力使我的页面导航菜单响应。目前,随着高度的降低,图标不适合在屏幕上显示。理想情况下,我想要的是一个响应性强的设计,其中所有元素都随页面高度缩放(即图标和文本缩小以适应)

到目前为止,我只能让设计使用如下硬编码值。这需要多个断点,我正试图避免这些断点,因为要使所有内容与硬编码的值恰好匹配,这是一个太长的过程

.topnav{
位置:固定;
宽度:100%;
宽度:100vw;
背景色:透明;
}
.topnav#myLinks{
显示:块;
位置:固定;
最高:15%;
高度:85vh;
宽度:400px;
左缘:80%;
保证金权利:5%;
背景色:透明;
边界半径:10px;
底部:5%;
}
.菜单链接{
垫面:0.5em;
}
.菜单卡{
显示:块;
文本对齐:居中;
不透明度:100%;
填充:0;
保证金:0;
利润底部:18%;
}
.菜单卡:悬停{
背景色:透明;
不透明度:100%;
过渡:所有0.8秒;
}
/*将鼠标悬停在菜单卡上时转换.card文本*/
.菜单卡:悬停.卡文本{
不透明度:100;
最大宽度:66%;
/*这是在.card文本中设置动画的属性*/
宽度:38%;
/*设置实际宽度*/
背景色:rgba(148181201,0.9);
边框宽度:8px;
}
.菜单图标{
显示:内联;
文本对齐:居中;
左边距:-265px;
右边距:0;
左侧填充:0;
填充底部:0;
最大宽度:20%;
垂直对齐:中间对齐;
背景色:rgba(148181201,0.9);
边界半径:90px;
填充:8px;
}
.卡片文本{
最大宽度:0%;
不透明度:0;
颜色:#5DCA31;
背景色:透明;
文本阴影:2px 2px黑色;
浮动:左;
垂直对齐:中间对齐;
保证金:0;
右边距:22%;
填充:0.5em;
右边填充:140px;
左:2%;
填充顶部:24px;
垫底:35px;
边框颜色:rgba(148181201,0.9);
边框宽度:0px;
边框样式:实心;
边界半径:90px;
过渡:背景色0.8s,边框宽度0.8s,最大宽度0.8s;
}
#家{
/*正文*/
字号:1.5em;
利润率最高:3%;
}
.家{
/*图标*/
利润率最高:3%;
}
#策略{
字号:1.25em;
}
#保安{
字号:1.5em;
}
#保证{
字号:1.5em;
}

这是一个使用flexbox和position absolute的工作版本


您使用了太多的页边距属性,似乎有很多不必要的/冗余的样式,尽管它们可能依赖于页面中您没有发布的其他样式。您必须使用media query更改
#myLinks
的宽度,但除此之外,我认为这是一个响应速度非常快的解决方案。也可以考虑使用<代码>框大小:边框B/COD>作为全局样式。

如果您熟悉CSS Frasbox布局。然后flex shrink将帮助缩小文本和图标,以适应屏幕。你可以!此链接用于了解有关Flexbox的更多信息。
.top-bar {
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
}

.topnav {
  position: fixed;
  width: 100vw;
}

.topnav #myLinks {
  display: flex;
  flex-direction: column;
  position: fixed;
  width: 300px;
  top: 10%;
  right: 0;
  height: 85vh;
  max-height: 85%;
  border-radius: 10px;
}

.menu-link {
  padding-top: 0.5em;
}

.menu-card {
  display: flex;
  justify-content: center;
  flex: 1 1 25%;
}

.menu-card a {
  position: relative;
  width: 100%;
}

.menu-icon {
  position: absolute;
  z-index: 1;
  right: 20%;
  max-height: 65%;
  border-radius: 50%;
  background-color: rgba(148, 181, 201, 0.9);
  transition: all 0.8s;
}

.card-text {
  display: flex;
  align-items: center;
  width: 0;
  top: 6%;
  height: 100%;
  max-height: 0;
  text-align: left;
  font-size: 100%;
  opacity: 0;
  color: #5DCA31;
  background-color: transparent;
  text-shadow: 2px 2px black;
  margin: 0;
  border-color: rgba(148, 181, 201, 0.9);
  border-style: solid;
  border-radius: 90px;
  transition: all 0.8s;
}

.menu-card:hover {
  background-color: transparent;
  opacity: 1;
  transition: all 0.8s;
}

.menu-card:hover .menu-icon {
  right: 0;
}

.menu-card:hover .card-text {
  opacity: 1;
  padding-left: 10%;
  max-height: 65%;
  width: 100%;
  border-width: 8px;
  box-sizing: border-box;
  background-color: rgba(148, 181, 201, 0.9);
}

@media screen and (max-height: 700px) {
  .topnav #myLinks {
    width: 200px;
  }
}