2010-05-18 16 views
5

Czy istnieje sposób w HTML4 i/lub CSS, aby wykonać następujące czynności, ale wtedy poprawnie:HTML, CSS: overbar dopasowanie pierwiastka kwadratowego symbol

√ ¯ ¯ ¯ ¯ ¯ ¯ φ & middot; (2 π − γ)
& thinsp;     & thinsp; ↑   ←   ←   & thinsp; ←

Jak mogę przenieść mój wyraz w lewo, pod ¯ symboli tak, że pokrywają się one siebie nawzajem? Uwaga: powinien działać na każdym rozmiarze czcionki.

Dzięki!

(Mój aktualny kod, dziękuję Matthew Jones (+1) dla text-decoration: overline, brakuje skalowanie wielkości i poprawnie pozycjonowanie overline. Dlatego edytowany to pytanie, jak ¯ pasuje rozmiarów & pozycja w czcionki Georgia).

Odpowiedz

0

następujące prace dokładnie jak chciałem go:

<div class="math"> 
    &radic;<span>&macr;&macr;&macr;&macr;</span><span style="margin-left: -2.39em; vertical-align: 0.1em;">x + 1</span> 
</div> 

(Gdzie math definiuje font-family: Georgia i font-size)

To działa na dowolnym font-size! :-)

Przykład: http://jsbin.com/ihaba3

+0

Tak to wygląda, z podziałem na: http://jsbin.com/ihaba3/2 – Pindatjuh

+1

wygląda okropnie w mojej przeglądarce. Chrome 29. – chowey

4

można ustawić CSS dla tekstu, który powinien pojawić się pod overbar jak

text-decoration:overline

EDIT: ten jest cholernie blisko tego, co chcesz (Chrome 4.1.249):

<div style="font-family: Georgia; font-size: 200%"> 
    <span style="vertical-align: -15%;">&radic;</span> 
    <span style="text-decoration: overline; vertical-align:-20%;">&nbsp;x&nbsp;+&nbsp;1&nbsp;</span> 
</div> 

Niestety nie wydaje się być sposób, aby zmodyfikować grubość samego overline ..

+0

właśnie testowane, że w powyższym przykładzie za pomocą Firebug i działa idealnie * * !. – EAMann

+0

Widzę (chociaż wpis po span dodaje przestrzeń poziomą, zakładam, że dodałeś ją z powodu formatowania w StackOverflow). Chociaż obniżenie ekspresji nie było moim celem, wystarczy obniżyć pasek, tekst jest na dobrej pozycji. Dziękuję za pomoc. – Pindatjuh

+1

Działa to idealnie dla mnie, jeśli nie ma spacji między pierwszym tagiem końca zakresu i następnym znacznikiem początku zakresu. '' http://jsbin.com/utolo Można również użyć deklaracji 'border-top', aby spróbować dopasować grubość i wygląda całkiem nieźle: http://jsbin.com/utolo/2 – ghoppe

2

musisz być w stanie umieścić postacie pod korzeniem w osobnym przęśle, a następnie nadać mu styl z krawędzią na górze. Ale prawdopodobnie będziesz musiał zwiększyć rozmiar czcionki modelu &radic;, aby ustawić go w jednej linii.

+0

Właściwie 'border-top' działa idealnie! Sprawdź to skrzypce, aby porównać je do "dekoracji tekstu: overline" http://jsfiddle.net/qDZNB/ – chowey

2
<math xmlns="http://www.w3.org/1998/Math/MathML"> 
    <msqrt> 
     <mrow>φ(2π−γ)</mrow> 
    </msqrt> 
</math>
+0

Byłoby miło, gdyby działało we wszystkich obecnych przeglądarkach, prawda? – ghoppe

+0

Byłoby miło, gdyby ludzie przestali używać IE, tak. – reisio