按钮:根据可用空间动态调整大小

萨加拉吉

在此处输入图片说明

所以要求是,这里的选项卡或向导必须默认显示全名,非活动的必须根据右侧的可用空间缩小。知道我们如何实现这一目标吗?

在此处输入图片说明

默认情况下,按钮的宽度为:自动。但是当没有。按钮更多,当右边的空间开始减少时,不活动的按钮必须缩小。

纳科加

我想你看起来像这样:

//Number of elemnts
let count = $('li').length;

//Width of each element
let width = 100 / count;
$('li').css('width', width + '%');

//Width of elements container (ul)
let ulWidth = parseFloat($("ul").css("width"));


for (let i = 0; i< count; i++) {

  $($('li')[i]).click(function() {
  
  	//Reset elements width
    $('li').css('width', 'auto');

    //Add active class to clicked element
    $('li').removeClass('active');
    $($('li')[i]).addClass('active');
    
    if ( $('li').hasClass('active') ) {
    
    	//Width of active element
      let activeWidth = parseFloat($("li.active").css("width"));
      let activeWidthPerc = (activeWidth * 100) / ulWidth;

      //Width of the rest of the elements
      let generalWidth = (100 - activeWidthPerc) / (count - 1);
      
      //Will only adapt when the active element is smaller than the rest of the elements
      if (activeWidthPerc < generalWidth) {
        
        $('li').css('width', width + '%');
        
      } else {
        
        $('li').css('width', generalWidth + '%'); //Set width to rest of the elements
        $('li.active').css('width', activeWidthPerc + '%'); //Set width to active element
        
      }
    
    }

  });

}
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box; 
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

nav {
  width: 80%;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}

ul {
  width: 100%;
}

li {
  list-style: none;
  float: left;
  padding: 10px;
  text-align: center;
  background: #EEEEEE;
  cursor: pointer;
  color: #777;
  border-right: 1px solid #999;
  display: flex;
  align-items: center;
  justify-content: center;
}

li:last-child {
  border-right: none;
}

p {
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

i {
  vertical-align: bottom;
  margin-right: 5px;
}

.active {
  background: #3C8CBD;
  color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
  <nav>
    <ul>
      <!--Try to add more li elements-->
      <li>
        <i class="material-icons">home</i><p>Home</p>
      </li>
      <li>
        <i class="material-icons">airplanemode_active</i><p>Plane</p>
      </li>
      <li>
        <i class="material-icons">directions_car</i><p>Car</p>
      </li>
      <li>
        <i class="material-icons">people</i><p>People</p>
      </li>
    </ul>
  </nav>
</body>

你可以在这里找到一个完整的例子https://codepen.io/Nacorga/pen/MqaLGK

我希望它可以帮助你;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据可用空间调整嵌套div的大小

来自分类Dev

根据页面大小和可用空间动态调整Div标签中的文本大小

来自分类Dev

动态调整按钮大小

来自分类Dev

根据动态内容动态调整div的大小?

来自分类Dev

根据按钮大小自动调整输入大小?

来自分类Dev

自动调整文本框大小以适应可用空间

来自分类Dev

自动调整子div的大小以填充父div的可用空间

来自分类Dev

自动调整子div的大小以填充父div的可用空间

来自分类Dev

调整文本大小以适合浏览器中的可用空间

来自分类Dev

调整分区大小时可用空间不会更改

来自分类Dev

如何调整从ntfs分区获取可用空间的分区的大小?

来自分类Dev

如何移动/调整分区大小并利用可用空间

来自分类Dev

在可用空间上扩展分区:调整大小或移动并调整大小或创建新分区?

来自分类Dev

ImageView根据Android中的图像大小动态调整大小

来自分类Dev

如何根据标签可用的高度调整UILabel字体大小

来自分类Dev

根据按钮/标签大小调整文本大小

来自分类Dev

根据UILabel动态调整uitableViewCell的大小(有段落间距)

来自分类Dev

根据容器中的图像动态调整容器DIV的大小

来自分类Dev

QML RowLayout不会根据内容动态调整大小

来自分类Dev

根据元素的大小动态调整GeometryReader的高度

来自分类Dev

如何根据.kv文件中的屏幕动态调整文本大小

来自分类Dev

根据富文本框的文本动态调整其大小?

来自分类Dev

以编程方式根据行数动态调整UILabel的大小

来自分类Dev

如何根据数据内容动态调整 Twitter Bootstrap 模式的大小

来自分类Dev

android studio - 如何根据文本调整按钮大小?

来自分类Dev

自动调整Winform大小以适合动态创建的按钮C#

来自分类Dev

调整TableLayoutPanel上的可用空间

来自分类Dev

动态调整iframe的大小

来自分类Dev

动态字体调整大小

Related 相关文章

  1. 1

    根据可用空间调整嵌套div的大小

  2. 2

    根据页面大小和可用空间动态调整Div标签中的文本大小

  3. 3

    动态调整按钮大小

  4. 4

    根据动态内容动态调整div的大小?

  5. 5

    根据按钮大小自动调整输入大小?

  6. 6

    自动调整文本框大小以适应可用空间

  7. 7

    自动调整子div的大小以填充父div的可用空间

  8. 8

    自动调整子div的大小以填充父div的可用空间

  9. 9

    调整文本大小以适合浏览器中的可用空间

  10. 10

    调整分区大小时可用空间不会更改

  11. 11

    如何调整从ntfs分区获取可用空间的分区的大小?

  12. 12

    如何移动/调整分区大小并利用可用空间

  13. 13

    在可用空间上扩展分区:调整大小或移动并调整大小或创建新分区?

  14. 14

    ImageView根据Android中的图像大小动态调整大小

  15. 15

    如何根据标签可用的高度调整UILabel字体大小

  16. 16

    根据按钮/标签大小调整文本大小

  17. 17

    根据UILabel动态调整uitableViewCell的大小(有段落间距)

  18. 18

    根据容器中的图像动态调整容器DIV的大小

  19. 19

    QML RowLayout不会根据内容动态调整大小

  20. 20

    根据元素的大小动态调整GeometryReader的高度

  21. 21

    如何根据.kv文件中的屏幕动态调整文本大小

  22. 22

    根据富文本框的文本动态调整其大小?

  23. 23

    以编程方式根据行数动态调整UILabel的大小

  24. 24

    如何根据数据内容动态调整 Twitter Bootstrap 模式的大小

  25. 25

    android studio - 如何根据文本调整按钮大小?

  26. 26

    自动调整Winform大小以适合动态创建的按钮C#

  27. 27

    调整TableLayoutPanel上的可用空间

  28. 28

    动态调整iframe的大小

  29. 29

    动态字体调整大小

热门标签

归档