一、目标效果:

当浏览器窗口大小改变时。panel宽度始终为浏览器宽度的50%,panel高度则根据其中内容的多少而变化,横向竖向滚动条皆不出现。且不需要重新刷新浏览器或者其他js代码

兼容:chrom .ie7~11

二、代码:

关键API:fit属性设置为true.默认是false

API地址:http://www.jeasyui.com/documentation/index.php#

关于这个fit的解释,官方文档这么说的:

When true to set the panel size fit it's parent container. The example below shows a panel which can be auto resized to max inner dimensions of its parent container。

意思就是:让panel尺寸适应它的父元素尺寸。

(不看中间过程,直接跳到结论)

官方API例子:html

 <div class="wrapper">
  <div class="easyui-panel my-panel" title="标题" data-options="fit:true">
    <p>panel 内容111111111111111</p>
    <p>panel 内容2222222222222222222</p>
5     <p>333333333333333333333333333333333333333</p>
6   </div>
</div>

css

.wrapper{
width:50%;/*让父元素的宽度为50%*/
/*高度不用设置*/
}

复制上述HTML和CSS代码到编辑器里,然后在浏览器中打开。。发现:panel宽度确实始终为浏览器的50%,因为父元素的宽度是50%,而panel在fit:true的作用下塞满了其父元素。

但是panel body中的文本不会自动换行,所以出现了横向滚动条。

为了解决这个问题,CSS上加入以下代码:

.wrapper{
width:50%;/*让父元素的宽度为50%*/
/*高度不用设置*/
  word-wrap: break-word;
word-break: normal;/*让文字自动换行*/
}

但是,依旧有个问题:当缩小浏览器宽度到一定小时,会出现竖向滚动条。

所以,再加入以下css:

.wraper .panel-body{
height: auto !important;
}

这下子。再怎么缩小浏览器,这个panel都是自适应宽度,而且不会出现横竖向滚动条了。

总结:整合以上所有CSS和Html代码。完整例子如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>panel</title>
<link rel="stylesheet" href="http://www.jeasyui.net/Public/js/easyui/themes/default/easyui.css"/>
<link rel="stylesheet" href="http://www.jeasyui.net/Public/js/easyui/themes/icon.css"/>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://www.jeasyui.net/Public/js/easyui/jquery.easyui.min.js"></script>
<style>
.wrapper{
width:50%;/*高度不用设置*/
word-wrap: break-word;
word-break: normal;
background-color:#444;
}
.wrapper .panel-body{
height: auto !important;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="easyui-panel my-panel" title="标题" data-options="fit:true">
<p>panel 内容111111111111111</p>
<p>panel 内容2222222222222222222</p>
<p>333333333333333333333333333333333333333</p>
</div>
</div>
</body>
</html>

easyui panel自适应浏览器宽度的更多相关文章

  1. EasyUI设置Layout自适应浏览器宽度和高度

    //设置自适应浏览器宽度和高度 function setLayoutHeight() { var height = $(window).height() - 20; $("#main_lay ...

  2. div等比例缩放-------纯CSS实现自适应浏览器宽度的正方形

    摘自:https://blog.csdn.net/u010513603/article/details/78200207 1.方案一:CSS3 vw 单位 CSS3 中新增了一组相对于可视区域百分比的 ...

  3. easyui tabs内容panel自适应窗体宽度方法

    废话不说,直接上代码: $('#Teacherwin_details').window({ title: '查看教职工信息', width: 800, height: 520, top: ($(win ...

  4. JQERY EasyUI Tabs 选项卡 自适应浏览器宽度高度 解决方案

    <script type="text/javascript"> $(window).resize(function () { $('#tt').tabs({ width ...

  5. easyui panel自适应问题

    项目中要用到easyui,使用也有几年时间了,刚开始使用还不错,毕竟只是简单的增删改查数据,不过到后面越来越觉得easyui不如extjs了,好多复杂一点的问题,easyui表现就力不从心了,题外话就 ...

  6. ExtJS6 自适应浏览器窗口大小

    ExtJS6官方文档推荐使用Ext.on.做一个小例子,创建一个Panel显示在页面上,使它的大小随浏览器变化,自适应浏览器窗口大小. html:增加一个css样式给Panel加上红色border. ...

  7. easyUI panel组件

    easyUI panel组件: 属性的使用: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. 自适应图片宽度的jQuery焦点幻灯轮播代码

    自适应图片宽度的jQuery焦点幻灯轮播代码 注意要1.7.2版本的jq才支持点击后显示点击的图片,不然就是一直顺序播放 演示   XML/HTML Code <div id="sli ...

  9. 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局

    EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...

随机推荐

  1. [SharpMap] 屏幕坐标和Map坐标转换

    1. SharpMap中屏幕坐标和地图Map坐标转换: using System.Drawing; using GeoAPI.Geometries; namespace SharpMap.Utilit ...

  2. SaltStack系列(二)之常用模块

    一.saltstack的内置模块汇总 acl,    aliases,    alternatives,    apache,    archive,    artifactory,    block ...

  3. Android开发新手问题

    因为最近在用空闲时间学习Android开发,期间确实遇到了一些问题.而且因为我之前在公司里一直都是在使用Eclipse进行开发,所以最初我学习Android时也就选择了Google的包含android ...

  4. svn命令行使用

    1.将文件checkout到本地目录    svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domai ...

  5. android studio gradle 国内代理

    使用阿里云的国内镜像仓库地址,就可以快速的下载需要的文件 修改项目根目录下的文件 build.gradle : buildscript { repositories { maven{ url 'htt ...

  6. 4.3 Routing -- Generated Objects

    就像在routing guide中介绍的那样,不管什么时候你在路由器中定义一个新路径,Ember.js就会尝试寻找一个对应的route,controller,template,它们的命名都是根据命名约 ...

  7. C# 多线程编程第二步——线程同步与线程安全

    上一篇博客学习了如何简单的使用多线程.其实普通的多线程确实很简单,但是一个安全的高效的多线程却不那么简单.所以很多时候不正确的使用多线程反倒会影响程序的性能. 下面先看一个例子 : class Pro ...

  8. 浏览器输入url的全过程

    ########################################################################### ######################## ...

  9. Cooperation.GTST团队第三周项目总结

    项目进展 这周我们仍然在学习使用博客园的相关接口,页面的一个基本模块已经搭建出来了,但是页面整体效果还没有完全做出来.另外,我们在使用其他的APP时留意到许多APP都使用上拉加载和下拉刷新的效果,所以 ...

  10. 从头到尾测地理解KMP算法【转】

    本文转载自:http://blog.csdn.net/v_july_v/article/details/7041827 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP ...