【问题标题】:ListView - Item Template styling - Cross browser differencesListView - 项目模板样式 - 跨浏览器差异
【发布时间】:2013-02-04 18:11:13
【问题描述】:

这是对我之前的问题 (ListView - ItemTemplate table styling) 的跟进。我仍在尝试使 ItemTemplate 看起来像这样:

______________________________________________
|               |___________Title_____________|
|    Image      |____________Name_____________|
|               |______Value_____|____Value___|
|_______________|______Value_____|____Value___|

它在 Chrome 和 Opera 中完美运行,但在其他浏览器中存在问题。

火狐:

______________________________________________
| _____________ |                             |
||   Image    | |                             |
||            | |                             |
||____________| |___________Title_____________|
|               |____________Name_____________|
|               |______Value_____|____Value___|
|_______________|______Value_____|____Value___|

IE:

______________________________________________
| _____________ |___________Title_____________|
||    Image    ||____________Name_____________|
||             ||______Value_____|____Value___|
||_____________||                |            |
|               |                |            |
|_______________|______Value_____|____Value___|

在 Safari 中,它的显示就像在 IE 中一样,而且在其上方添加了一个巨大的空白。

这是页面的输出和 CSS http://jsfiddle.net/9HsvF/21/ 我将不胜感激!

【问题讨论】:

  • 你最好尝试用divs实现布局

标签: asp.net html css listviewitem


【解决方案1】:

只是一个建议。如果可能的话,摆脱桌子。并尝试 div 布局。布局模板输出可以是(http://jsfiddle.net/V5aCa/1/):

<div style="overflow:auto;">
    <div class="leftColumn">
        <img src="http://static.adzerk.net/Advertisers/da748a4c6e9b4c97af37c32af7531544.jpg"/>
        </div>
    <div class="rightColumn">
        <div class="titleRow">Title</div>
        <div class="nameRow">Name</div>
        <div class="values">
            <div>value1</div><div>value2</div>
        </div>    
        <div class="values">
            <div>value3</div><div>value4</div>
        </div>    
    </div>
</div>

和css:

.leftColumn
{
    float:left;
    width:150px;
    overflow:auto;
}
.rightColumn
{
    float:left;
    overflow:auto;
}
.titleRow,.nameRow
{
    text-align:center;
}
.values
{
    clear:both;
}
.values div
{
    float:left;
    padding:0px 3px;
}

【讨论】:

  • 尝试使用 div 并在 rightColumn 上固定宽度。它在 Opera 中运行良好。在 Firefox 中,即使它的高度小于左侧,它也会在右侧列上添加一个滚动条。在 IE 中,div 显示为空(根本没有数据)。在 chrome 中,右侧 div 出现在左侧下方,并且它具有像 FF 中一样的滚动条,在 Safari 中相同,并且在第一个模板上方有巨大的间隙。
  • 更改为溢出:隐藏以移除滚动条。
  • jsfiddle.net/V5aCa/5 就像它适用于除 IE 之外的所有浏览器一样。容器 div 的溢出属性有问题。在 IE 中,所有的 div 都没有数据,如果我更改溢出属性,数据就会显示出来(虽然右侧的 div 显示在左侧下方)并且所有其他浏览器中的格式都会变得混乱。
  • 尝试将overflow:auto添加到leftColumn和rightColumn类
  • 我试过你小提琴中的代码;在我的 IE 中似乎工作正常:|
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多