2012-06-25 13 views
13

He intentado alinear el texto en el elemento <select> a la derecha o al centro en safari. Pero nada funcionó. text-align:center; funcionó en todos los navegadores excepto safari. direction:rtl; y dir="rtl" no hicieron nada. la lista siempre se alinea a la izquierda en Safari. -webkit-appearance: none; tampoco ayuda. Por favor necesito una solución.text-align no está funcionando en safari <select>

+0

¿trató de colocarlo en la etiqueta "opción" en lugar de select? – Trey

+0

sí. Da el mismo resultado – shnisaka

+0

He estado jugando con él y mirando a mi alrededor, no puedo encontrar una solución de CSS ... aquí hay algo con jquery que casi funciona http://jsfiddle.net/nEGV4/ – Trey

Respuesta

0

Para Safari

text-align: -webkit-center; 

Sin embargo, la mejor manera de analizar el funcionamiento de HTML/CSS es el Web-inspector en Safari.

enter image description here More >>

+5

no funciona. puedes probarlo por ti mismo. – shnisaka

+0

Intenta consultar la consola de desarrollador para descubrir por qué el estilo no es vinculante para la entrada. –

+0

no hay una consola de desarrollador en safari – shnisaka

0

como dije en mi comentario anterior Sé que esto no es realmente una solución CSS, pero si es importante que esto funciona como un trabajo en torno a si usted está dispuesto a usar jQuery. ... que no funciona correctamente en cromo, pero si marca para el navegador que podría simplemente cargarlo para Safari:

http://jsfiddle.net/nEGV4/4/

-2

Esto funcionó para mí.

select { 
    text-align:-moz-center; 
    text-align:-webkit-center; 
} 
+0

no funciona en versiones anteriores. Probablemente estés usando una nueva versión, mira la fecha de la pregunta antes de contestarla. – shnisaka

+0

No funciona. por favor no conteste sin probar. –

+0

@SunnyKhatri Él claramente dice que funcionó para él, por lo que lo probó. Probablemente funcionó en 2013 –

1

Si no encuentra ninguna solución, puede utilizar este truco en AngularJS o el uso de JS para asignar valor seleccionado con un texto en el div, esta solución está lleno CSS compatible con el angular, pero necesitan un mapeo entre seleccionar y div:

var myApp = angular.module('myApp', []); 
 

 
myApp.controller('selectCtrl', ['$scope', 
 
    function($scope) { 
 
    $scope.value = ''; 
 
}]);
.ghostSelect { 
 
    opacity: 0.1; 
 
    /* Should be 0 to avoid the select visibility but not visibility:hidden*/ 
 
    display: block; 
 
    width: 200px; 
 
    position: absolute; 
 
} 
 
.select { 
 
    border: 1px solid black; 
 
    height: 20px; 
 
    width: 200px; 
 
    text-align: center; 
 
    border-radius: 5px; 
 
    display: block; 
 
}
<!doctype html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Example - example-guide-concepts-1-production</title> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
</head> 
 
<body ng-app="myApp"> 
 
    <div ng-app ng-controller="selectCtrl"> 
 
    <div class=select> 
 
     <select ng-model="value" class="ghostSelect"> 
 
     <option value="Option 1">Option 1</option> 
 
     <option value="Option 2">Option 2</option> 
 
     <option value="Option 3">Option 3</option> 
 
     </select> 
 
     <div>{{value}} 
 
     </div> 
 
    </div> 
 
    </div> 
 
</body>

la esperanza que esto podría ser útil para alguien, ya que me llevó un día para encontrar esta solución en PhoneGap.

Cuestiones relacionadas