Dodatkowa, przesunięta ramka wokół DIVa

0

Witam.
Mam taki kod:


.section_mop_5_2019 {
  background-image: url("../images/ob100_2019.png");
  background-position: right;
  background-repeat: no-repeat;
  background-size: cover;
  font-family: 'rajdhani_regular_webfont';
  padding-bottom: 180px;
  padding-top: 60px;
}

.etapy_2019 {
  text-align: center;
  text-transform: uppercase;
  font-size: 36px;
  color: #262626;
  font-weight: bold;
}

.etapy_2019_all_1 {
  background-color: #A91B1C;
  color: #F2F3FF;
  padding: 30px;
}

.etapy_2019_all_2 {
  background-color: #803066;
  color: #F2F3FF;
  padding: 30px;
}

.etapy_2019_all_3 {
  background-color: #38408B;
  color: #F2F3FF;
  padding: 30px;
}

.etapy_2019_all_4 {
  background-color: #603B7D;
  color: #F2F3FF;
  padding: 30px;
}

.etapy_2019_all_5 {
  background-color: #225F6F;
  color: #F2F3FF;
  padding: 30px;
}

.etapy_2019_tytul {
  text-transform: uppercase;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 20px;
}

.etapy_2019_tresc {
  font-size: 14px;
  text-align: justify;
}

.etapy_2019_all_pad {
  padding: 30px;
}

.etapy_2019_rejestracja {
  font-size: 28px;
  padding-left: 60px;
  padding-top: 30px;
}

.gabinety_obrazek_2019_1 {
  clear: both;
  padding-top: 25px;
  padding-left: 60px;
}

.gabinety_tel_2019 {
  color: #333333;
  font-size: 32px;
  font-weight: bold;
  font-family: 'rajdhani_regular_webfont';
  line-height: 1.1;
}

<section class="section_mop_5_2019 ">
  <div class="container">
    <div class="row">
      <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">
        <div class="etapy_2019 ">Przebieg wizyty dziecka w naszych gabinetach </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class="etapy_2019_all_pad ">
          <div class="etapy_2019_all_1 ">
            <div class="etapy_2019_tytul ">Etap 1 </div>
            <div class="etapy_2019_tresc ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
          </div>
        </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class="etapy_2019_all_pad ">
          <div class="etapy_2019_all_2 ">
            <div class="etapy_2019_tytul ">Etap 2 </div>
            <div class="etapy_2019_tresc ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
          </div>
        </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class="etapy_2019_all_pad ">
          <div class="etapy_2019_all_3 ">
            <div class="etapy_2019_tytul ">Etap 3 </div>
            <div class="etapy_2019_tresc ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, .</div>
          </div>
        </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class="etapy_2019_all_pad ">
          <div class="etapy_2019_all_4 ">
            <div class="etapy_2019_tytul ">Etap 3 </div>
            <div class="etapy_2019_tresc ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
          </div>
        </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class="etapy_2019_all_pad ">
          <div class="etapy_2019_all_5 ">
            <div class="etapy_2019_tytul ">Etap 3 </div>
            <div class="etapy_2019_tresc ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
          </div>
        </div>
      </div>
      <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4 ">
        <div class=" etapy_2019_rejestracja ">Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, </div>
        <div class="gabinety_obrazek_2019_1 "><img src="images/ob50_2019.png" class="img-responsive resp ob50_2019  " alt="">
          <div class="gabinety_tel_2019 ">+48 123 123 123</div>
          <div class="gabinety_tel_2019 ">+48 123 123 123 12</div>
        </div>
      </div>
    </div>
  </div>
</section>

Chciałbym dodać ramki do tych boxów, takie jak tutaj: http://serwer1356363.home.pl/pub/boxy/screen.jpg

Podgląd powyższego kodu: http://serwer1356363.home.pl/pub/boxy/

Kurczę, walczę już z tym parę godzin i nie wiem jak to zrobić :(

Wie ktoś może jak to zrobić?

1

Czy takie coś może być - https://jsfiddle.net/mgdr3j5b/? Wykonane w czystym CSS, trochę brzydko napisane, bo na szybko i jedynie w celu demonstracji mechanizmu.

<div id="tresc">
<div id="ramka">
</div>
TUTAJ DAJEMY TO CO CHCEMy<br>
LOREM IPSUM BUK CHONOR Ojczyzna<br>
raz DWA czy 444
</div>
#tresc {
  background-color: purple;
  width: 300px;
  height: 200px;
  padding: 40px;
  color: white;
}

#ramka {
  background-color: rgba(255, 255, 255, 0.1);
  border: 2px green solid;
  position: absolute;
  top: 20px;
  left: 20px;
  width: 300px;
  height: 200px;
  padding: 40px;
  color: white;
}
1

Zwróć też proszę uwagę na fragment background-color: rgba(255, 255, 255, 0.1);. Ostatnia liczba określa przezroczystość treści wewnątrz ramki. Możesz też się tym pobawić i zmieniając kolor wypełnienia oraz jego przezroczystość uzyskać ciekawe efekty. Jeśli jednak chcesz mieć samą ramkę i nawet tych 10% wypełnienia nie zostawić, to po prostu wstaw tam ZERO.

0

Dziękuję bardzo za kod. Widzę mały problem. Podałeś na sztywno szerokość i wysokość. W moim kodzie mam Bootstrapa (responsywność) i nie mogą być na sztywno szerokości i wysokości - robi się scroll. :(

1

Podany przez Ciebie link nie skaluje się dynamicznie, ale z tego co widzę działa w oparciu o breakpointy RWD, W takim razie po prostu zakoduj sobie kilka rozmiarów na sztywno, dla każdego z breakpointa i powinno być OK. W ogóle to pokaż o co chodzi z tym scrollem - najlepiej daj link.

1
cerrato napisał(a):

Podany przez Ciebie link nie skaluje się dynamicznie, ale z tego co widzę działa w oparciu o breakpointy RWD, W takim razie po prostu zakoduj sobie kilka rozmiarów na sztywno, dla każdego z breakpointa i powinno być OK. W ogóle to pokaż o co chodzi z tym scrollem - najlepiej daj link.

Ok, tak zrobię :) Dzięki

2

Użyj pseudoelementów, jak poniżej.
Dostajesz czysty podstawowy kod HTML i ramki dostosowują się do położeń i rozmiarów DIV-ów.


div.ramka {
  position: relative;
  background-color:#eee;  
  width:300px;
  height:200px;
  padding:30px;
  margin-bottom:50px;
  margin-right:50px;
}

div.ramka:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid #9CCBCD;
  left: 20px;
  top: 20px;
}
<div class="ramka">
  <h2>etap 1</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>

<div class="ramka">
  <h2>etap 2</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>

<div class="ramka">
  <h2>etap 3</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>
1

Zamiast px można użyć rem, vh, vw wtedy layout jest o wiele bardziej elastyczny na zmiany.

0

Smoczyco - ale Twój kod się nie skaluje, ramki mają stałą i niezmienną szerokość. OP prosił o rozwiązanie problemu skalowania/zmiany rozmiaru.

1
cerrato napisał(a):

Smoczyco - ale Twój kod się nie skaluje, ramki mają stałą i niezmienną szerokość.

Bo prosił o rozwiązanie problemu ramek. Istotny jest zatem tylko css z :after, a resztę można sobie dostosować wg. uznania. Przykład ze skalowalnymi ramkami:

<!DOCTYPE html>
<html>
<head>
  <title>tytul</title>
  
<style>
div.ramka {
  position: relative;
  background-color:#eee;  
  width:calc(100% - 76px);
  height:200px;
  padding:30px;
  margin-bottom:50px;
  margin-right:50px;
}

div.ramka:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid #9CCBCD;
  left: 20px;
  top: 20px;
}
</style>

</head>
<body>

<div class="ramka">
  <h2>etap 1</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>

<div class="ramka">
  <h2>etap 2</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>

<div class="ramka">
  <h2>etap 3</h2>
  Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, Lorem ipsum lorem ipsum, . </div>
</div>
 
</body>
</html>

1 użytkowników online, w tym zalogowanych: 0, gości: 1