Jump to content
  • 0

Можно ли реализовать такое на чистом css?


vladmih
 Share

Question

http://take.ms/g973S

Реально реализовать такое на чистом css? Любой способ... 

Была идея светлую картинку затемнять прозрачным темным слоем через псевдоэлемент, но как потом кругом снова засветить? Как такое можно реализовать?

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Копайте в сторону opacity.

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

Link to comment
Share on other sites

  • 0

А если visible попробовать ?

И к чему его добавлять? Висибл не поможет...

Примерно представим:

<div class="wrap">

  <img src="tra-ta-ta">

  <div class="ring">

 <div class="overley"

</div>

Оверлей темный поверч картники абсолютно, с бОльшим зиндексом, кружок, поверх оверлея, но внутри кружка я буду видеть верлей, а не картинку...

Link to comment
Share on other sites

  • 0

Да, но это подходит если, круг в центре, а если он в произвольном месте? этот круг может появится на любом из домов... Он не при ховере, а просто у каждого дома будет координата, которая позиционируется на доме...

Edited by vladmih
Link to comment
Share on other sites

  • 0

Да, но это подходит если, круг в центре, а если он в произвольном месте? этот круг может появится на любом из домов... Он не при ховере, а просто у каждого дома будет координата, которая позиционируется на доме...

 

А в чём проблема? Вы код смотрели вообще? Всё же на блюдечке, бери и пили под себя: расположение круга можно задавать какое угодно; ховер сделан для наглядности, можно и без него делать.

Link to comment
Share on other sites

  • 0

 

Да, но это подходит если, круг в центре, а если он в произвольном месте? этот круг может появится на любом из домов... Он не при ховере, а просто у каждого дома будет координата, которая позиционируется на доме...

 

А в чём проблема? Вы код смотрели вообще? Всё же на блюдечке, бери и пили под себя: расположение круга можно задавать какое угодно; ховер сделан для наглядности, можно и без него делать.

 

Смотрел, конечно... Я понял, что серый фон вы сделали блоком с бордером, а рамку в другом псевдо классе, просто я думаю, если картинка к примеру имеет размер 500*500 то и бордер плимерно должен иметь такую ширину...? Я правильно понимаю? 

Edited by vladmih
Link to comment
Share on other sites

  • 0

Одним псевдоэлементом сделан слой, у которого круглый полупрозрачный бордер большого размера, создающий эффект чёрного полупрозрачного фона. Другим сделана круглая жёлтая рамка для получившегося круга. Если вам нужен бóльший размер квадрата — соответственно, нужны и бóльшие размеры бордера у псевдоэлемента, чтобы он квадрат заполнил без пробелов. Меняя размеры и положения элементов, можете всё перемещать куда угодно и как угодно, основная задача — полупрозрачный фон с отверстием на нём — уже решена.

Да, и не путайте псевдоклассы с псевдоэлементами.

Edited by hypnocolor
  • Like 1
Link to comment
Share on other sites

  • 0

Одним псевдоэлементом сделан слой, у которого круглый полупрозрачный бордер большого размера, создающий эффект чёрного полупрозрачного фона. Другим сделана круглая жёлтая рамка для получившегося круга. Если вам нужен бóльший размер квадрата — соответственно, нужны и бóльшие размеры бордера у псевдоэлемента, чтобы он квадрат заполнил без пробелов. Меняя размеры и положения элементов, можете всё перемещать куда угодно и как угодно, основная задача — полупрозрачный фон с отверстием на нём — уже решена.

Да, и не путайте псевдоклассы с псевдоэлементами.

Понял, спасибо за такое оригинальное решение, как оказалось все гениально и просто!

А еще вопрос, с clip такое реально сделать? Я им еще не разу не пользовался, но просто возможно это еще один метод? 

Link to comment
Share on other sites

  • 0

Грубо говоря, clip обрезает элемент снаружи, а не вырезает пространство внутри. Кроме того, там можно работать только с прямоугольными областями. Более того, свойство устаревшее (https://developer.mozilla.org/en-US/docs/Web/CSS/clip). Поэтому в данном случае это не вариант.

Edited by hypnocolor
Link to comment
Share on other sites

  • 0

Грубо говоря, clip обрезает элемент снаружи, а не вырезает пространство внутри. Кроме того, там можно работать только с прямоугольными областями. Более того, свойство устаревшее (https://developer.mozilla.org/en-US/docs/Web/CSS/clip). Поэтому в данном случае это не вариант.

 

Я просто смотрел пару pie (круговые диаграммы), типа как на awwwards у них клипы резали по кругу. Возможно я не понял, полную идею клипа там, но в общем как делать круговую, я так и не понял... В общем, спасибо за решение, реально годное, и много где может пригодиться теперь!

Link to comment
Share on other sites

  • 0

На самом деле, я его даже не гуглил, оно само придумалось минут за 5) Ещё как вариант можно делать по-другому: квадрату задавать полупрозрачный фон, а в него помещать круглый слой, у которого будет задана фоновая картинка, такая же, как та, над которой мы слой помещаем, но спозиционированная так, чтобы она совпадала с участком, над которым в данный момент круг находится. Но, по-моему, мой вариант изящней :)

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