Próbowałem utworzyć trójkąty w CSS na responsywną stronę i nie mogłem znaleźć dobrego przykładu na stackoverflow, więc oto jak to zrobiłem.Tworzenie responsywnych trójkątów za pomocą CSS
Odpowiedz
Tworzenie wrażliwych kształtów kątowych jest trochę trudne, ponieważ nie można używać wartości procentowych jako wartości border
w swoim CSS, więc napisałem kilka funkcji do obliczenia szerokości strony i odpowiednio zmieniania rozmiarów trójkąta. Pierwszy oblicza rozmiar podczas ładowania strony, drugi przelicza rozmiar wraz ze zmianą szerokości strony.
CSS:
.triangle {
width: 0;
height: 0;
border-top: 50px solid rgba(255, 255, 0, 1);
border-right: 100px solid transparent;
}
HTML:
<div class="triangle"></div>
JS:
$(document).ready(function() {
var windowWidth = $(window).width();
$(".triangle").css({
"border-top": windowWidth/2 + 'px solid rgba(255, 255, 0, 1)'
});
$(".triangle").css({
"border-right": windowWidth/1.5 + 'px solid transparent'
});
});
$(window).resize(function() {
var windowWidthR = $(window).width();
$(".triangle").css({
"border-top": windowWidthR/2 + 'px solid rgba(255, 255, 0, 1)'
});
$(".triangle").css({
"border-right": windowWidthR/1.5 + 'px solid transparent'
});
});
Oto jsFiddle - http://jsfiddle.net/craigcannon/58dVS/17/
Dobrze ... +1 dla pytań i odpowiedzi, ale jakikolwiek pomysł, dlaczego używasz ' % "dla' rgba' –
również, procent wynosi więcej niż 100%? – Raptor
@ Mr.Alien lol. Dobre miejsce. Myślę, że właśnie skopiowałem wartość z photoshopa i włączyłem% przez przypadek. Przegląd teraz. –
Można osiągnąć to samo za pomocą prostych CSS
Aby to czuły go używać w zapytaniach mediów ..
Spróbuj następującą JsFiddle
http://jsfiddle.net/arunberti/52grj/
.triangle {
width: 0;
height: 0;
border-top: 50px solid rgba(255%, 204%, 0%, 1);
border-right: 100px solid transparent;
}
Oczywiście, ale trzeba będzie tworzyć zapytania o media co 10 pikseli, aby zachować spójny projekt. –
Reponsive trójkąty można osiągnąć tylko z CSS, korzystając z wyściółką oblicza w stosunku do szerokości rodzica, aby objąć duży trójkąt o stałej szerokości. Aby utworzyć trójkąt up-wskazującego ze 100% szerokość:
.triangle-up {
width: 50%;
height: 0;
padding-left:50%;
padding-bottom: 50%;
overflow: hidden;
}
.triangle-up div {
width: 0;
height: 0;
margin-left:-500px;
border-left: 500px solid transparent;
border-right: 500px solid transparent;
border-bottom: 500px solid green;
}
lub używając pseudoelements i tylko jeden div:
.triangle-up {
width: 50%;
height: 0;
padding-left:50%;
padding-bottom: 50%;
overflow: hidden;
}
.triangle-up:after {
content: "";
display: block;
width: 0;
height: 0;
margin-left:-500px;
border-left: 500px solid transparent;
border-right: 500px solid transparent;
border-bottom: 500px solid #959595;
}
Here's a fiddle. Aby uzyskać pełne wyjaśnienie, jak działają te elementy, oraz w lewym i prawym fragmencie trójkąta wskazującego pozycję zobacz mój artykuł na temat Pure CSS responsive triangles. Podany CSS jest dla trójkąta o stosunku wysokości do podstawy równym 2. Próbując zmienić proporcje trójkąta nie wiedząc, jak te trójkąty mogą być skomplikowane, fałszywa reakcja.
Link do Twojego artykułu jest martwy! :-(Czysta sztuczka! – chadoh
- 1. Tworzenie wszystkich zdjęć za pomocą css
- 2. Wykrywanie kolizji trójkątów do trójkątów w 3D
- 3. Tworzenie efektu rozmycia za pomocą css i jQuery podczas przewijania
- 4. Tworzenie tygodniowego rozkładu zajęć za pomocą CSS/HTML
- 5. Tworzenie elastycznego, wypełniającego przestrzeń ula za pomocą CSS
- 6. Tworzenie zdjęć w widoku koła za pomocą CSS tylko
- 7. Używanie jcrop na obrazach responsywnych
- 8. Tworzenie quizu za pomocą jQuery
- 9. Tworzenie tagów za pomocą SourceTree
- 10. Tworzenie pakietów za pomocą Perla
- 11. Tworzenie delegata za pomocą refleksji
- 12. Rysowanie trójkątów z CUDA
- 13. Wyszarzają obraz za pomocą CSS?
- 14. Zamień elementy za pomocą CSS?
- 15. obracanie obrazu za pomocą css
- 16. Wyłącz autouzupełnianie za pomocą CSS
- 17. Podświetlanie znacznika za pomocą CSS
- 18. Unicode za pomocą CSS: przed
- 19. Obracanie obrazu za pomocą css
- 20. Tworzenie legendy za pomocą kółka ulotki R
- 21. najlepsza praktyka dla responsywnych wykresów Google
- 22. Tworzenie prostego menu wielopoziomowego CSS
- 23. Orientacja czworościanu dla siatek trójkątów
- 24. Tworzenie grafiki wektorowej za pomocą PHP
- 25. Tworzenie komponentów wielokrotnego użytku za pomocą KnockoutJS
- 26. Tworzenie tabeli dynamicznej za pomocą PHP
- 27. Tworzenie regularnej siatki Delaunay za pomocą scipy
- 28. Tworzenie aplikacji internetowych za pomocą Ember.js
- 29. Tworzenie raportów PDF za pomocą wykresu flot
- 30. Wykryj tworzenie pliku za pomocą watchdog
Istnieje świetny artykuł Chrisa Coyera w CSS-tricks.com, który pokazuje, jak tworzyć więcej niż trójkąty z czystym CSS. http://css-tricks.com/the-shapes-of-css/ – sulfureous
@sulfureous yeah, to niesamowite zasoby. –
możliwy duplikat [Responsywnego trójkąta div] (http://stackoverflow.com/questions/26891619/responsive-triangle-div) –