Вертикальное выравнивание флажка

Я просмотрел различные вопросы, касающиеся этой проблемы, но не смог найти ничего, что работало бы из-за ограничений в моей разметке.

Моя разметка выглядит вот так (к сожалению, поскольку это генерируется каким-то бэкендом, я не могу изменить разметку).

<ul>        
    <li>
        <input type="checkbox" value="1" name="test[]" id="myid1">
        <label for="myid1">label1</label>
    </li>
    <li>
        <input type="checkbox" value="2" name="test[]" id="myid2">
        <label for="myid2">label1</label>
    </li>
</ul>

Мне нужно, чтобы флажок был справа и центрирован по вертикали в

  • имеет следующий стиль:

    li input{
       display: inline-block;
       float: right;
       margin-right: 10px;
    }
    

    Я пытался использовать различные значения для vertical-align, но это, похоже, не помогает. Кроме того, в некоторых случаях метка может быть очень длинной и занимать несколько строк. флажок по-прежнему должен иметь возможность вертикально центрироваться, когда высота li произвольна.

    Как я могу добиться этого?

  • 43
    задан F21 22 March 2012 в 01:40
    поделиться