Jump to content
  • 0

Параллелепипед с помощью css


afagorn
 Share

Question

16 answers to this question

Recommended Posts

  • 0

Возможно жутко криво, но как-то мне сходу это представляется так:

 

http://jsfiddle.net/Launder/ocuzpd7w/

 

Интересно, а как провести ещё одну линию от верхнего левого угла, до его дальнего коллеги? чтоб реально было на параллелепипед похоже...

Edited by Launder
Link to comment
Share on other sites

  • 0

Вот чтоб совсем параллелепипед, можно как-то так попробовать:

 

http://jsfiddle.net/Launder/gx2ff9ww/

 

Каким образом выбирается начальная точка для пункта меню я не слишком понял, поэтому позиционировал "на глаз".

Точнее начальная точка, похоже берётся по самому центру, но не факт что это самый удобный вариант.

К тому же, не ясно откуда берётся дефолтная ширина пункта меню. То есть ставишь left: 0; или ставишь right: 0 и видишь что эти две точки удалены друг от друга на определённое расстояние. Откуда оно берётся? не вполне ясно.

 

Возможно, имеет смысл поменять структуру html c

<ul>    <li class="object">Каталог</li>    <li class="botline"></li>    <li class="topline"></li>    <li class="crossline"></li></ul>

на

<ul>    <li class="object"><span>Каталог</span>                      <ul>                         <li class="botline"></li>                         <li class="topline"></li>                         <li class="crossline"></li>                      </ul></ul>

и прописывать стили уже для неё.


  box-shadow:    -1px -1px 0 blue,    -2px -2px 0 blue,    -3px -3px 0 blue,    -4px -4px 0 blue;

Обалдеть! Какое простое и красивое решение!

Edited by Launder
Link to comment
Share on other sites

  • 0

Вот ещё один вариант, с 1 сайта:

http://jsfiddle.net/1k95kpLj/

 

Правда границы нельзя указать на стыке углов(или можно?).

Но зато кода меньше ^_^

 

Это по сути тот вариант, который был указан в самом начале. Границы указать можно и выше есть тому пример.

Link to comment
Share on other sites

  • 0

Добавлю для коллекции )

http://codepen.io/corvus-007/pen/rOvrOr?editors=010

           display: inline-block;           outline: none;

А Вы не подскажите, зачем в Вашем решении эти две строчки?

 

Это какая-то особенность SCSS? Также, как я пониманию, box-sizing: border-box проставлено, скорее как элемент стилистики кода? То есть, особой роли этой свойство не играет?

Edited by Launder
Link to comment
Share on other sites

  • 0
Это какая-то особенность SCSS? Также, как я пониманию, box-sizing: border-box проставлено, скорее как элемент стилистики кода? То есть, особой роли этой свойство не играет?

 

это CSS свойства, можете почитать для чего они нужны.

Link to comment
Share on other sites

  • 0

 

Добавлю для коллекции )

http://codepen.io/corvus-007/pen/rOvrOr?editors=010

           display: inline-block;           outline: none;

А Вы не подскажите, зачем в Вашем решении эти две строчки?

 

Это какая-то особенность SCSS? Также, как я пониманию, box-sizing: border-box проставлено, скорее как элемент стилистики кода? То есть, особой роли этой свойство не играет?

 

display: inline-block; если будет строчный элемент, например элемент <a href="">…</a>

outline: none; - убираем обводку;

box-sizing: border-box; - чтобы рамки и паддинги входили в размер элемента (Например, установите ширину рамки вместо 1px на 10px для :after, и закоментите  box-sizing: border-box;). Хотя например для псевдоэлемента :after можно было бы использовать left: 0; right: 0; и удалить width: 100%; и box-sizing: border-box;

Link to comment
Share on other sites

  • 0

это CSS свойства, можете почитать для чего они нужны.

 

Просто я предположил, что эти строчки были добавлены в связи с какой-то особенностью SCSS.

 

http://jsfiddle.net/Launder/dLge2vqy/1/

 

Перевёл решение на CSS с минимальными изменениями и стало не вполне ясно зачем эти две строчки в коде.

 

Добавлю для коллекции )

http://codepen.io/corvus-007/pen/rOvrOr?editors=010

 

display: inline-block; если будет строчный элемент, например элемент <a href="">…</a>

 

В смысле, если вместо <button> будет <a>? Иными словами Вы сделали именно класс .button чтоб сделать что-то вроде универсальный заготовки, где вместо тега <button>, можно использоваться, например, <a>, отсюда некоторая избыточность свойств?

 

outline: none; - убираем обводку;

 

Просто в случае использования тега <button> мы, вроде, убираем её свойством border: none;

 

Хотя например для псевдоэлемента :after можно было бы использовать left: 0; right: 0; и удалить width: 100%; и box-sizing: border-box;

 

Ну да, вижу как работает, спасибо.

Link to comment
Share on other sites

  • 0
Просто я предположил, что эти строчки были добавлены в связи с какой-то особенностью SCSS. http://jsfiddle.net/...der/dLge2vqy/1/

Там есть кнопка "View Compiled" http://codepen.io/corvus-007/pen/rOvrOr?editors=010никакой особенности нет, это тот же css.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy