Search code examples
htmlcssdrop-down-menumulti-selectdotvvm

DotVVM - Multiselect content is overlayed by input


I have a problem with DotVVM multiselect styling. Content of multiselect is overlayed by input and I dont know what cause this problem. When I use dropdown list which uses exactly the same css classes, there isn't any problem with this. You can see dropdown list structure in picture below

Here is my HTML structure

<div class="form-group">
    <Label>
        <dot:Literal Text="{{value: Article.Article_Sections}}" />
    </Label>
    <div class="input-group">
        <bp:MultiSelect DataSource="{value: ArticleSectionsList}"
                        SelectedValues="{value: SelectedArticleSections}"
                        ItemTextBinding="{{value: Name}}"
                        ItemKeyBinding="{{value: Id}}"
                        class="form-control " />
    </div>
</div>
<div class="form-group">
    <Label>
        <dot:Literal Text="{{value: DetailDTO.Name}}" />
    </Label>
    <div class="input-group" Validator.Value="{{value: DetailDTO.Name}}">
        <dot:TextBox class="form-control" Text="{{value: DetailDTO.Name}}" />

    </div>
</div>

CSS code here

.form-group {
    position: relative;
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}

.dotvvm-bp-multi-select .bp-popup {
    display: none;
    padding: 5px 2px;
    position: fixed;
    overflow: hidden;
    border-collapse: collapse;
    border: 1px solid #808080;
    border-radius: 0;
    background-color: #fff;
    color: #1a1a1a;
    font-weight: normal;
    cursor: default;
    margin-top: 1px;
    z-index: 1001;
    text-align: left;
}
//here is css for opened state
.dotvvm-bp-multi-select .bp-popup.bp-state-opened {
    display: block;
    z-index: 1001;
}

.dotvvm-bp-multi-select .bp-popup.bp-has-list > ul {
    list-style: none;
    overflow-x: hidden;
    padding: 5px 2px;
    max-height: 250px;
    margin: 0;
}

Image is edited, I changed dropdown list to simple text input in my previous code structure to make it more readable, problem is still the same. enter image description here

Image showing dropdown list component, which works fine

enter image description here


Solution

  • It's a bootstrap compatibility issue. The form-group with MultiSelect is not focusable and therefore has lower z-index than the other groups.