2013-11-18 4 views
3

мне нужно выравнивать SVG элемент в линии (справа) другой элемент в строке/промежутке, и не могу найти правильную формулу. Если я не ошибаюсь, ответ на этот вопрос related SO question не удастся, если SVG не находится слева.Вертикального выравнивания SVG с другими элементами HTML

Вот jsfiddle illustration. Благодарен за помощь.

<div style="border: 1px solid black; height: 100px; width: 200px; vertical-align:top;"> 
    <span height=100 float=left><p>text on left</p></span> 
    <span height=100 float=right> 
     <svg viewBox="0 0 100 100" preserveAspectRatio="xMinYMin"> 
      <rect x="0" y="0" width="100" height="100" style="fill: red;" /> 
     </svg> 
    </span> 
</div> 
+0

Решено! Пожалуйста, взгляните на ответ и обновленную скрипку. – Chandranshu

ответ

3

мне удалось получить свои пролеты рядом друг с другом здесь: http://jsfiddle.net/J8sPs/6/

Вот окончательный код:

HTML:

<div> 
    <span class="flt"><p>text on left</p></span> 
    <span class="frt"> 
     <svg viewBox="0 0 100 100" preserveAspectRatio="xMinYMin"> 
      <rect x="0" y="0" width="100" height="100"/> 
     </svg> 
    </span> 
</div> 

CSS:

div { 
    border: 1px solid black; 
    height: 100px; 
    width: 200px; 
    vertical-align: top; 
} 

span { 
    width: 100px; 
    height: 100px; 
} 

.flt { 
    float: left; 
} 

.frt { 
    float: right; 
} 

rect { 
    fill: red; 
} 
+0

Спасибо, что работает! Но странно, что назначение html прямого цвета работает только через css в этой модели. Я немного обеспокоен тем, что причина этого может привести к сбою других атрибутов SVG. – geotheory

+0

Это может быть не так. Наличие встроенных стилей в HTML препятствует моему мышлению, и поэтому я отделил их. – Chandranshu

+0

Вы правы, это не так, я должен был опечатать что-то. Еще раз спасибо за вашу помощь Chandranshu – geotheory

Смежные вопросы