2011-10-16 13 views
7

Tengo un div con un nombre de clase "prueba". La clase "prueba" tiene un puntero de cursor asignado a ella. La clase también tiene un ancho fijo de 200px. Dentro del div hay un texto de longitud que es más corto que el ancho del div. No quiero que el punto aparezca cuando el mouse se coloca en la parte en blanco del div.selector de clase css para seleccionar texto dentro de un div

Hay una manera en que puedo asignar el puntero css al texto dentro del div sin envolver el texto dentro de otra etiqueta <span>. Simplemente no quiero volver y agregar la etiqueta span a cada div y reescribir el javascript.

Estoy pensando en algo como esto css código seudo

.test.text { 
    cursor:pointer; 
} 

Respuesta

12

CSS no funciona de esta manera. Como dice biziclop en los comentarios, text nodes can't be selected with CSS. Ya sea que usted tiene que envolver el texto en un <span> y utilizar

.test span { 
    cursor: pointer; 
} 

Con

<div class="test"> 
    <span>Text</span> 
</div> 

o conjunto .test a display: inline, pero eso no va a dejar que le dan un ancho, que no es el comportamiento que quieres. <span> s están bien, en este caso.

+3

nodos de texto no se pueden seleccionar con CSS: http://stackoverflow.com/questions/5688712/is-there-a-css-pseudo-selector-for-text-nodes-elements – biziclop

+0

@biziclop Gracias. Editado en mi respuesta. – Bojangles

+0

No creo que la visualización '.test' en línea funcione aquí. Tiene que tener el ancho de 200 píxeles. – BoltClock

1

Puede intentar usar los pseudo-elementos :before o :after.

que estaba jugando con esta solución, por divs 1-line:
http://jsfiddle.net/yAfKw/

divs de varias líneas:
http://jsfiddle.net/yAfKw/1/

funciona en Firefox, no funciona en Safari.

+0

Gracias biziclop, este es un gran truco que podría resolver mi problema, lo probaré. – Jamex

Cuestiones relacionadas