2015-03-29 5 views
0

мне нужно создать 1 Div элемент и в ней мне нужно нарисовать 2 треугольника как 1css3 треугольник вверх и вниз

1) она должна быть стрелка вверх 2) он должен быть вниз arror

но мне нужно добавить их в 1 класс

Я понимаю, что я могу создать 2 класса, а затем с маркой подключить их, но мне нужен только один класс , это проблема.

Могу ли я это сделать?

+2

ли вам нужно, чтобы они располагались бок о бок или один поверх другого. Если возможно, предоставьте изображение, показывающее, что вы хотите. –

+0

, как вы говорите об этом, заставляет меня думать, что вы пытаетесь создать дизайн «+» и «-» ... это нужно сделать с двумя элементами, если вы хотите эту функциональность (поскольку псевдоэлементы aren ' t 'физических' элементов в DOM). Если бы это было просто для дизайна, вы могли бы быстро сделать это с псевдоэлементами ... [например] (http://jsfiddle.net/7kkrfowp/) – jbutler483

+0

вот что мне нужно сделать http: //s018.radikal .ru/i508/1503/87/bd92ee398e2c.png –

ответ

1

Если вы хотите сделать это для дизайна (а не функциональный), вы можете использовать псевдо-элементы:

div { 
 
    position: relative; 
 
    margin: 50px; 
 
    height: 100px; 
 
    width: 100px; 
 
    transform: rotate(45deg); 
 
} 
 
div:before { 
 
    content: ""; 
 
    height: 40%; 
 
    width: 40%; 
 
    top: 0; 
 
    left: 0; 
 
    position: absolute; 
 
    border-top: 5px solid black; 
 
    border-left: 5px solid black; 
 
    transition: all 0.6s; 
 
} 
 
div:after { 
 
    content: ""; 
 
    height: 40%; 
 
    width: 40%; 
 
    bottom: 0; 
 
    right: 0; 
 
    position: absolute; 
 
    border-bottom: 5px solid black; 
 
    border-right: 5px solid black; 
 
    transition: all 0.6s; 
 
} 
 
div:hover:before, 
 
div:hover:after { 
 
    border-color: tomato; 
 
}
<div></div>


Если вам нужно, чтобы это было фактически функциональный (т.е. зарегистрироваться эр, если вам это нужно, чтобы быть «прессованной» - то вам нужно будет использовать несколько элементов, так как псевдо-элементы не различимы в DOM для «нажатием клавиши»):

div { 
 
    margin: 50px; 
 
    height: 100px; 
 
    width: 100px; 
 
    position: relative; 
 
} 
 
div .up { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 50%; 
 
    height: 50%; 
 
    width: 50%; 
 
    transform-origin: top left; 
 
    transform: rotate(45deg); 
 
    border-left: 5px solid tomato; 
 
    border-top: 5px solid tomato; 
 
    transition: all 0.6s; 
 
} 
 
div .down { 
 
    position: absolute; 
 
    top: 45%; 
 
    left: -5%; 
 
    height: 50%; 
 
    width: 50%; 
 
    transform-origin: bottom right; 
 
    transform: rotate(45deg); 
 
    border-bottom: 5px solid tomato; 
 
    border-right: 5px solid tomato; 
 
    transition: all 0.6s; 
 
} 
 
div span:hover { 
 
    border-color: black; 
 
}
<div> 
 
    <span class="up"></span> 
 
    <span class="down"></span> 
 
</div>

0

Вы можете создать квадрат div и просто повернуть его на 45 градусов, используя CSS transform. Вы можете посмотреть демо его на JSFiddle

<div class="diamond"></div> 

<style> 
    .diamond { 
     width: 100px; 
     height: 100px; 
     background-color: red; 
     transform: rotate(45deg); 
    } 
</style> 
+0

Для информации совместимость: IE9 + согласно [caniuse] (http://caniuse.com/#feat=transforms2d) – FelipeAls

+0

нет, это не то, что мне нужно Мне нужно чтобы создать как это изображение http://s018.radikal.ru/i508/1503/87/bd92ee398e2c.png –

+0

hei кто-то мне помогает. –