首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使多个内联下拉列表跨平台兼容?

如何使多个内联下拉列表跨平台兼容?
EN

Stack Overflow用户
提问于 2012-06-15 00:49:55
回答 2查看 1.9K关注 0票数 1

因此,我试图放置两个内联下拉列表。我测试过,它在Chrome和Firefox中运行良好,但是IE9 (当然)不喜欢它。它把第二个下拉列表放在第一个下拉列表下面。这就是我的html和css的样子:

HTML:

代码语言:javascript
复制
<div id="region-path">
    <div id="region-dropdown">
            <!-- <form name="regionform" action=""> -->
            <form action="">
                    <!-- <select id="regionselection" > -->
                    <select id="regionDropDown">
                        <option value="0" selected="selected">All Regions</option>
                        @foreach (var region in Model.RegionData)
                        {
                            <option value="@region.regionID"> @region.regionName</option>
                        }
                    </select>
                    <!-- <input type="button" id="submitButton" value="Submit" /> -->
            </form>
     </div>

    <div id="path-dropdown">
        <form action="">
            <select>
                <option value="0" selected="selected">All Paths</option>
            </select>
        </form>
    </div>
</div>

CSS:

代码语言:javascript
复制
#region-path 
{
    margin: 20px 35px;
}

#region-dropdown, #path-dropdown
{
    display: inline-block;    
    width: 160px;
}

#path-dropdown
{
    margin-left: 20px;
}

我怎么才能解决这个问题?我是非常新的网页开发,所以指出如果我做了其他的错误也。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-15 16:08:49

我不得不玩了一会儿,终于修好了:

代码语言:javascript
复制
#region-path 
{
    position: relative;
    margin: 20px 35px;
    width: 320px;
    height: 20px;
}

#region-dropdown, #path-dropdown
{
    position: absolute;
    display: inline;   
    width: 90px;
    height: 19px;
}

#path-dropdown
{
    left: 100px;
}
票数 1
EN

Stack Overflow用户

发布于 2012-06-15 01:17:29

它正确地出现在IE9中,只要IE不处于IE9兼容模式。

问题在于IE7 (为了这个问题的目的,它与IE9兼容性模式相同)不理解inline-block for display。您可以使用display:inline和布局技巧来解决这个问题。

代码语言:javascript
复制
display:inline-block; /* for browsers that don't suck */
*display:inline; /* ignored by most browsers except IE7 */
zoom:1; /* you can't set dimensions on an inline element in IE<7, which is to be expected, UNLESS it has layout. zoom will do this */

结果是,兼容的浏览器将正确地看到和显示inline-block,其中IE7将看到一个内联元素,但是由于它有布局,所以您可以给它一个高度或宽度。

下面是一个实用的例子。使用“开发人员”工具栏切换不同的模式,您应该会看到它在所有情况下都有效。http://jsfiddle.net/7uSbR/1/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11043292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档