如何使用css / javascript根据设备宽度使折叠div不同的div高度

用户名

我正在尝试使用Css /简单的Javascript(没有Jquery)进行div扩展折叠。我希望div的高度可以伸缩,根据设备的不同宽度而有所不同。在移动设备中,与全屏显示相比,显示的文字更少。

代码在较小的宽度上运行良好。不幸的是,我在全屏模式下工作时遇到了问题。当我单击“显示较少”时,整个div折叠而不显示。

我是Java语言的新手。请提出建议。

下面是我的代码和我的链接,codepen - http://codepen.io/anon/pen/JYbRyp

HTML-

Lorem ipsum dolor sit amet, sea mutat regione discere cu. Et vix aperiam `
`accusata deterruisset, no ius evertitur sententiae.<a style="text-   
 decoration: none;" id="displayText2" href="javascript:toggle();">See 
 More...</a><div class="more-mobile" id="foo2">  Ne movet ocurreret    
 salutatus vix, mnesarchum moderatius eos no. Graeci feugait expetenda ius 
 an. Ne veri referrentur efficiantur mea. Probatus definiebas cu ius, nec 
 aeque soluta hendrerit an.


 <a style="text-decoration: none;" id="displayText"  
 href="javascript:toggle();">See More...</a><div class="more-mobile"  
 id="foo"> 

 Duo id dignissim necessitatibus. Te ornatus accusamus mei, pri id soleat 
 euismod tractatos, eos laudem fabulas eu. Possim philosophia quo eu, 
 accumsan erroribus moderatius pri ex, in vel fuisset antiopam. Doctus 
 vocent ut quo, nam suscipiantur interpretaris ea, duo ea eruditi epicuri 
 apeirian.


An semper pertinacia vituperatoribus sea, mea ei natum oratio scaevola, at  
eum tation persius offendit. Quas deserunt his cu, cum eirmod regione eu, ut 
idque sadipscing has. Nulla iuvaret mel an. Mei eu dicunt assueverit.


</div>
</div>

CSS-

 a#displayText2 {
 display: none;
 }
 div#foo {
display: none;
}
div#foo2 {
display: block;
}

@media screen and (max-width: 766px){
a#displayText2 {
display: block !important;
}
a#displayText {
display: none;
}
div#foo {
display: block !important;
}
div#foo2 {
display: none;
}

Javascript-

function toggle() {
var ele = document.getElementById("foo");
var text = document.getElementById("displayText");
if(ele.style.display == "block") {
        ele.style.display = "none";
    text.innerHTML = "See More...";
}
else {
    ele.style.display = "block";
    text.innerHTML = "See Less";
  }
 } 
 //alert(window.screen.width);
 if (window.screen.width < 766) {

 function toggle() {
var ele = document.getElementById("foo2");
var text = document.getElementById("displayText2");
if(ele.style.display == "block") {
        ele.style.display = "none";
    text.innerHTML = "See More...";
}
else {
    ele.style.display = "block";
    text.innerHTML = "See Less";
 }
 } 
 }
用户名

我无法使用java在各种宽度的设备中根据各种高度使div折叠展开,但可以使用CSS和媒体查询来进行同样的操作。如果任何人都可以使用简单的javascript(而不是jQuery)做到这一点,请发布答案。在下面的代码中,我使用CSS为不同高度的div展开-折叠提供了代码-

HTML-

<div>
<p>Lorem ipsum dolor sit amet, sea mutat regione discere cu. Et vix aperiam    
accusata deterruisset, no ius evertitur sententiae.</p>
<input class="toggle-box2" id="header2" type="checkbox" >
<label class="label1" for="header2"><span class="displayText2"></span>  
</label>
<div class="more-mobile" id="foo2"> <p> Ne movet ocurreret salutatus vix,  
 mnesarchum moderatius eos no. Graeci feugait expetenda ius an. Ne veri  
 referrentur efficiantur mea. Probatus definiebas cu ius, nec aeque soluta  
 hendrerit an.</p>

 <input class="toggle-box" id="header1" type="checkbox" >
 <label class="label1" for="header1"><span class="displayText"></span> 
 </label>

 <div class="more-one" id="foo">
 <p>Duo id dignissim necessitatibus. Te ornatus accusamus mei, pri id soleat   
 euismod tractatos, eos laudem fabulas eu. Possim philosophia quo eu,  
 accumsan erroribus moderatius pri ex, in vel fuisset antiopam. Doctus 
 vocent ut quo, nam suscipiantur interpretaris ea, duo ea eruditi epicuri  
 apeirian.</p>

 <p>An semper pertinacia vituperatoribus sea, mea ei natum oratio scaevola,   
 at eum tation persius offendit. Quas deserunt his cu, cum eirmod regione   
 eu, ut idque sadipscing has. Nulla iuvaret mel an. Mei eu dicunt 
 assueverit.</p>

 <label class="less" for="header1"><span style="float:right;"  
 class="displayText3">See Less</span></label>
 </div>
 </div>

 </div>

这是CSS代码-

  span.displayText2 {
  display: none;
  }

  span.displayText, span.displayText2, span.displayText3 {
  color:blue;
  cursor:pointer;
  }
  .toggle-box,.toggle-box2 {
   display: none;
   }

  .toggle-box ~ div#foo.more-one {
   display: none;
   }

   .toggle-box:checked ~ div#foo.more-one {
   display: block;
   }
   span.displayText:before, span.displayText2:before {

   content:"See More...";
   }
   .toggle-box:checked ~ .label1 span.displayText:before, .toggle-  
   box2:checked ~ .label1 span.displayText2:before {

   content:"See Less";
   }
   @media screen and (max-width: 766px){ 
   span.displayText, span.displayText3 {
   display: none;
   }
   span.displayText2 {
   display: block !important;
   }
   span.displayText, span.displayText2 {
   margin-top: -5px;
   }
   .toggle-box2 ~ div#foo2.more-mobile {
   display:none;
   }

   .toggle-box2:checked ~ div#foo2.more-mobile {
   display:block;
   }
   .toggle-box ~ div#foo.more-one {
   display: block !important;
   }
   }

您可以在此处查看codepen- http: //codepen.io/anon/pen/wKdZRE

注意-请将Codepen视图从水平更改为垂直,以查看媒体查询工作,并在垂直视图(即较小宽度的设备)中仅显示第一个参数,而在较宽视图的设备中则保持隐藏,而前两个参数为显示,其余隐藏。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用纯 JavaScript 根据宽度调整 div 高度

根据设备宽度使用CSS更改div顺序

如何使用CSS隐藏特定高度或宽度的div

如何使用CSS调整每个高度的DIV宽度

如何根据内容动态设置 div 的宽度和高度

如何使用CSS根据其高度更改<div>元素的颜色?

CSS - 如何根据内容调整 div 的高度?

单击时如何在可折叠的div上同时扩展宽度和高度?

如何根据不同设备的视口高度提供CSS规则

如何使用CSS使div高度适合内容

css div宽度根据图像宽度

高度不同的CSS DIV列

如何使用javascript或css根据屏幕大小呈现div

如何根据子宽度设置div的宽度?

如何使用 CSS 使用子 div 扩展 div 的高度

如何使div的高度和宽度等于屏幕的宽度和高度?

如何使用JavaScript展开和折叠<div>?

如何使用Javascript创建可折叠div?

如何使div占设备屏幕高度的10%CSS

JS-如何根据输入值设置div的宽度和高度?

我可以使用 calc 和 var 根据宽度更改我的 div 高度吗?

CSS-跨多个设备的div的高度

如何使div的宽度与屏幕高度相同?

如何使用 css 根据它们的内容宽度在 div 中排列这些 tab/bubble 元素?

如何使用 calc() CSS 计算中间 div(3 div) 的高度

即使内容不同,如何使div内的元素具有相同的高度和宽度?

如何使用香草JavaScript查找div的宽度?

如何使用CSS更改SVG的高度宽度?

如何使用javascript缓慢增加div的高度