Witam, moim problemem jest brak możliwości pisania obok zdjęcia w edytorze postu.
W wordzie używa się opcji "przyległe" a na forum co trzeba zrobić?
Możliwe że czegoś nie zauważyłem i odpowiedź może być banalna, jeśli tak będzie to z góry przepraszam
Możesz spróbować zmienić vertical-align dla wszystkich obrazków, które się tam pojawią.
Nie mam pojęcia coś masz na myśli
Można to zrobić też w ten sposób
Kod:
<img style="float:left" src="link">
<span>Tekst</span>
Nic to nie daje, tekst ciągle pojawia się na środku obok zdjęcia. Jak dałem text-top to tekst pojawiał się na górze obok zdjęcia, ale tylko jedna linijka a reszta już była pod nim.
Musisz pokazać dokładniej jak próbujesz. Że vertical-align przenosi ci tylko jedną linijkę - tak, tylko jedną; tak to działa.
https://jsfiddle.net/8nbjs0f8/
Najprościej będzie ci dodać MyCode w ten sposób:
Wyrażenie:
Kod:
\[img-left\](.*?)\[/img-left\]
Zastąpienie:
Kod:
<img src="$1" alt="Obrazek" style="float: left;">
Nie wiem czemu, ale nie przyniosło to żadnego efektu. Jednak doszedłem do pewnych wniosków i zastosowałem to:
Cytat:\[float=(.*?)\](.*?)\[/float\]
Cytat:<span style="float: $1;">$2</span>
Ostatecznie to mi pomogło i moje zdjęcia używają tego:
Cytat:[float=left][img=80x120]link[/img][/float]
Nie mam pojęcia czemu tamto nie działa, próbowałem to zrobić na kilka sposobów jednak tylko to co podałem wyżej zadziałało.
A gdybym chciał te same rzeczy w linii? jednej to ustawić? Czy mogę to zrobić za pomocą mycode?
Tak, obydwa elementy muszą mieć float lub display na inline-block.
W edycji posta? Inline-block?
Miałem na myśli to, że aby elementy były wyświetlane w jednej linii to musisz ustawić im float lub odpowiedni display (inline, inline-block; da się bawić z flexem dla rodzica, etc). Obrazki domyślnie się ustawiają w jednej linii. Wyjątkiem jest gdy są zbyt duże i się nie mieszczą lub mają jakieś niestandardowe style. Na twoim ss widać, że prawdopodobnie problemem jest to drugie. Niestety bez podglądu nie możemy tutaj nic poradzić.
Moja propozycja: MyCode flex
Wyrażenie:
Kod:
\[flex=(.*?)\](.*?)\[/flex\]
Zastąpienie:
Kod:
<div style="display: flex; justify-content: $1">$2</div>
Podstawowe wartości, które cię interesują:
space-between - elementy są pomiędzy sobą (jak najdalej)
space-around - elementy są pomiędzy sobą (równe odległości zachowane)
center - elementy są wyśrodkowane
[/code]
To co musisz wziąć pod uwagę to ataki XSS. Co jeśli użytkownik wpisze tam coś typu
"? Wykrzaczy MyCode i prawdopodobnie layout forum, a może tam wpisać dużo gorsze rzeczy.
Jak temu zapobiec? Zamiast pozwalać wpisywać wszystkie znaki, pozwól jedynie na [a-z] i ewentualnie [A-Z] lub nawet same nazwy.
Nie za bardzo działa ta metoda albo robię coś źle.
Kiedyś ustawiłem chyba jakoś to, że jedno zdjęcie miało float left... drugie float right i ustawiły się równo po bokach.
(07.06.2018, 17:35)Finarfin napisał(a): [ -> ]Nie za bardzo działa ta metoda albo robię coś źle.
Kiedyś ustawiłem chyba jakoś to, że jedno zdjęcie miało float left... drugie float right i ustawiły się równo po bokach.
Tak, ustawią się. Chyba, że coś w nich przeszkadza. Zrób i daj link podglądowy, może tworzy się jeszcze jakiś element lub jakiś błąd jest gdzieś.
Wszystko to była moja wina, źle zrozumiałem Twoje rady... posiedziałem pokombinowałem i zrobiłem tak jak radziłeś, ale tym razem dobrze. Działa dzięki.