Avatar billede groop Nybegynder
14. juli 2007 - 00:50 Der er 8 kommentarer og
2 løsninger

Markere HTMLElement ved klik

Hej.

Findes der en måde hvormed man kan markere et htmlelement uden at layout forskubber sig? Når der klikkes på et htmlelement skal htmlelementet markeres med en smal rektangel udenom. Jeg har prøvet, at sætte border på det enkelte htmlelement, men det forskubber layout.
Avatar billede olebole Juniormester
16. juli 2007 - 15:38 #1
<ole>

Man kan ikke skrive en generel funktion - det kommer anpå, hvad du skal lave.

/mvh
</bole>
Avatar billede groop Nybegynder
18. juli 2007 - 21:18 #2
Jeg har fundet ud af det. Spørgsmålet var i sidste ende mest DOM/CSS/DHTML relateret idet det bliver/er kodet i c#. Indtil videre har jeg løst det ved, at indsætte div tags i DOM.

Eksempel på div tag + lidt c#:
"position:absolute; z-index:1000; height:{3}; left:{1}px; top:{0}px; width:{2}; border-top:1px solid red; border-bottom:1px solid red; border-left:1px solid red; border-right:1px solid red; visibility: show;", width, y, x, width, height

Ulempe: z-index samt muligvis selection af de ikke indsatte tags (c#).
Det bliver nok lavet om så jeg istedet tegner på ActiveX kontrollen i c#.
Avatar billede olebole Juniormester
19. juli 2007 - 12:40 #3
Jeg forstår ikke rigtig det CSS, du skriver ... men det er formodentlig ikke, hvad du i virkeligheden har skrevet - eller, hvad der i sidste ende kommer til at stå i koden  =)

Det kan sagtens gøres med ren CSS, men det kræver, man kender lidt mere til sammenhængen  =)
Avatar billede groop Nybegynder
21. juli 2007 - 22:36 #4
Basically oprettede jeg et div tag som dækker det element der er blevet klikket på.
Dvs. et div tag per element der bliver klikket på med musen.
Div taggene får tildelt følgende style:
position:absolute;
z-index:1000;
height:{3}; - højde på element
left:{1}px; - elementets placering fra venstre kant.
top:{0}px; - elementets placering fra top.
width:{2}; - bredde på element
border-top:1px solid red;
border-bottom:1px solid red;
border-left:1px solid red;
border-right:1px solid red;
visibility: show

{} - er fordi det bliver angivet dynamisk i c# koden.
Da jeg oprettede spørgsmålet her håbede jeg på en javascript funktion som jeg så kunne oversætte til c#.
Smid et svar hvis du vil have point :)
Avatar billede olebole Juniormester
21. juli 2007 - 22:59 #5
Mon ikke, der skulle stå:
    height:{3}px; - højde på element

- og:
    width:{2}px; - bredde på element

Enheder er obligatoriske på CSS-højder og -bredder  ;o)

Afhængigt af hvilken slags element, der er tale om, kan man vel ændre elementets bredde og højde - og sætte en border samtidigt. Det kræver mere info at vide, hvordan  =)
Avatar billede groop Nybegynder
22. juli 2007 - 20:00 #6
Ok så må det være det jeg anvender der selv tilføjer px såfremt intet andet er angivet.
Vil den sidste mulighed du nævner ikke ændre layout? fx. ved billeder, tekst?
Meningen er, at layoutet ikke må ændre sig en pixel i forhold til det oprindelige.
Smid et svar så deler vi point.
Avatar billede groop Nybegynder
02. august 2007 - 20:41 #7
Going 1 - Going 2 ....
Avatar billede olebole Juniormester
02. august 2007 - 22:25 #8
Der er vist rod med email-udsendingen på E for tiden  :o|
Avatar billede groop Nybegynder
05. august 2007 - 20:53 #9
No worries :) .
Avatar billede olebole Juniormester
05. august 2007 - 21:16 #10
Tak for points  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester