Estoy creando un modal:
var modal = $modal.open({
templateUrl: "/partials/welcome",
controller: "welcomeCtrl",
backdrop: "static",
scope: $scope,
});
¿Hay alguna forma de aumentar su ancho?
angularjs
angular-ui-bootstrap
Ivan Bacher
fuente
fuente
Respuestas:
Utilizo una clase css como esa para apuntar a la clase de diálogo modal:
Luego, en el controlador que llama a la ventana modal, configure windowClass:
fuente
.modal-dialog
Otra forma fácil es usar 2 tamaños prefabricados y pasarlos como parámetro al llamar a la función en su html. use: 'lg' para modales grandes con ancho de 900px 'sm' para modales pequeños con ancho de 300px o sin pasar ningún parámetro, usa el tamaño predeterminado que es 600px.
código de ejemplo:
y en el html usaría algo como lo siguiente:
fuente
Puede especificar un ancho personalizado para la clase .modal-lg específicamente para su ventana emergente para una resolución de ventana más amplia. He aquí cómo hacerlo:
CSS:
JS:
fuente
Cuando abrimos un modal, acepta el tamaño como parámetro:
Valores posibles para su tamaño:
sm, md, lg
HTML:
Si desea un tamaño específico, agregue estilo en el modelo HTML:
fuente
hay otra forma en la que no tiene que sobrescribir las clases uibModal y usarlas si es necesario: llama a la función $ uibModal.open con su propio tipo de tamaño como "xlg" y luego define una clase llamada "modal-xlg" como a continuación :
llamar a $ uibModal.open como:
y esto funcionará. porque cualquier cadena que pase como tamaño de bootstrap la combinará con "modal-" y esto jugará el papel de clase para ventana.
fuente
Me resultó más fácil tomar el control de la plantilla de Bootstrap-ui. Dejé el HTML comentado todavía en su lugar para mostrar lo que cambié.
Sobrescriba su plantilla predeterminada:
Modifique su plantilla de diálogo (tenga en cuenta los DIV de contenedor que contienen la clase "modal-dialog" y la clase "modal-content"):
Y luego llame al modal con cualquier clase CSS o parámetros de estilo que desee cambiar (suponiendo que ya haya definido "aplicación" en otro lugar):
Agrega un botón de "abrir" y dispara.
Ahora puede agregar cualquier clase adicional que desee, o simplemente cambiar los tamaños de ancho / alto según sea necesario.
Lo incluí además en una directiva de envoltura, que debería ser trivial de ahora en adelante.
Salud.
fuente
Resolví el problema usando la solución Dmitry Komin, pero con una sintaxis CSS diferente para que funcione directamente en el navegador.
CSS
JS es el mismo:
fuente
fuente
Si solo desea ir con el tamaño grande predeterminado, puede agregar 'modal-lg':
fuente
Use el ancho máximo en el diálogo modal para angular 5
y use windowClass como otros recomiendan, TS, por ejemplo:
Además, tuve que poner el código css en estilos globales> styles.css.
fuente