Eu tentei o seguinte:
<div class="modal hide fade modal-admin" id="testModal" style="display: none;">
<div class="modal-header">
<a data-dismiss="modal" class="close">×</a>
<h3 id='dialog-heading'></h3>
</div>
<div class="modal-body">
<div id="dialog-data"></div>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn" >Close</a>
<a class="btn btn-primary" id="btnSaveChanges">Save changes</a>
</div>
</div>
E este Javascript:
$('.modal-admin').css('width', '750px');
$('.modal-admin').css('margin', '100px auto 100px auto');
$('.modal-admin').modal('show')
O resultado não é o que eu esperava. O canto superior esquerdo modal está posicionado no centro da tela.
Alguém pode me ajudar. Alguém mais tentou isso. Presumo que não seja algo incomum querer fazer.
javascript
jquery
twitter-bootstrap-2
Nullpo
fonte
fonte
Respostas:
ATUALIZAR:
Em
bootstrap 3
você precisa alterar a caixa de diálogo modal. Portanto, neste caso, você pode adicionar a classemodal-admin
no local em quemodal-dialog
está.Resposta original (Bootstrap <3)
Existe algum motivo para você tentar alterá-lo com JS / jQuery?
Você pode fazer isso facilmente apenas com CSS, o que significa que não precisa fazer o estilo no documento. No seu próprio arquivo CSS personalizado, você adiciona:
No seu caso:
A razão pela qual eu coloquei body antes do seletor é para que ele tenha uma prioridade mais alta que o padrão. Dessa forma, você pode adicioná-lo a um arquivo CSS personalizado e, sem preocupações, atualizar o Bootstrap.
fonte
.modal .modal-dialog { width: 800px; }
A posição esquerda é calculada automaticamente.Se você deseja torná-lo responsivo apenas com CSS, use o seguinte:
Nota 1: usei uma
.large
classe, você também pode fazer isso normalmente.modal
Nota 2: No Bootstrap 3, a margem esquerda esquerda pode não ser mais necessária (não confirmada pessoalmente)
Nota 3: No Bootstrap 3 e 4, há uma
modal-lg
classe. Portanto, isso pode ser suficiente, mas se você quiser torná-lo responsivo, ainda precisará da correção que forneci para o Bootstrap 3.Em algumas aplicações, os
fixed
modais são usados; nesse caso, você pode tentarwidth:80%; left:10%;
(fórmula: esquerda = 100 - largura / 2)fonte
@media (min-width: 400px) { body .modal-lrg{ width: 80%; /* respsonsive width */ margin-left:-40%; /* width/2) */ } }
Se você estiver usando o Bootstrap 3, precisará alterar a div de diálogo modal e não a div modal, como é mostrado na resposta aceita. Além disso, para manter a natureza responsiva do Bootstrap 3, é importante escrever o CSS de substituição usando uma consulta de mídia para que o modal tenha largura total em dispositivos menores.
Veja este JSFiddle para experimentar diferentes larguras.
HTML
CSS
fonte
Se você deseja algo que não quebre o design relativo, tente o seguinte:
Como @marco Johannesen diz, o "corpo" antes do seletor é para que ele tenha uma prioridade mais alta que o padrão.
fonte
margin-left:auto; margin-right:auto;
em vez deauto
toda a voltatop: 30%
, a porcentagem dependendo do conteúdo interno.No Bootstrap 3+, a maneira mais apropriada de alterar o tamanho de uma caixa de diálogo modal é usar a propriedade size. Abaixo está um exemplo, observe
modal-sm
amodal-dialog
classe, indicando um pequeno modal. Pode conter os valoressm
para pequeno,md
médio elg
grande.fonte
modal-md
aula.Pois
Bootstrap 3
aqui está como fazê-lo.Adicione um
modal-wide
estilo à sua marcação HTML (conforme adaptado do exemplo nos documentos do Bootstrap 3 )e adicione o seguinte CSS
Não há necessidade de substituir
margin-left
aBootstrap 3
de conseguir este ser centrado agora.fonte
modal-wide
classe, o que significa que não é uma classe "interna" do Bootstrap. Você pode simplesmente fazer#myModal .modal-dialog { width: 80%; }
No Bootstrap 3, tudo o que você precisa é este
A maioria das respostas acima não funcionou para mim !!!
Mostrar snippet de código
fonte
A solução foi retirada desta página
fonte
Na v3 do Bootstrap, existe um método simples para aumentar um modal. Basta adicionar a classe modal-lg ao lado de modal-dialog.
fonte
Bootstrap 3: Para manter os recursos responsivos para dispositivos pequenos e extra pequenos, fiz o seguinte:
fonte
Foi isso que fiz, no meu custom.css, adicionei essas linhas e foi tudo.
Obviamente, você pode alterar o tamanho da largura.
fonte
Se Bootstrap> 3, basta adicionar estilo ao seu modal.
fonte
Encontrei esta solução que funciona melhor para mim. Você pode usar isto:
ou isso, dependendo de seus requisitos:
Veja o post em que descobri: https://github.com/twitter/bootstrap/issues/675
fonte
O FYI Bootstrap 3 lida com a propriedade esquerda automaticamente. Então, basta adicionar este CSS alterará a largura e a manterá centralizada:
fonte
Preserve o design responsivo, defina a largura para o que você deseja.
Mantenha simples.
fonte
Alterando a classe,
model-dialog
você pode obter o resultado esperado. Esses pequenos truques funcionam para mim. Espero que ajude você a resolver esse problema.fonte
Com o Bootstrap 3, tudo o que é necessário é um valor percentual dado ao diálogo modal via CSS
CSS
fonte
Usei uma combinação de CSS e jQuery, juntamente com dicas nesta página, para criar uma largura e altura fluidas usando o Bootstrap 3.
Primeiro, algum CSS para lidar com a largura e a barra de rolagem opcional para a área de conteúdo
E alguns jQuery para ajustar a altura da área de conteúdo, se necessário
Gravação e código completos em http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/
fonte
No Bootstrap 3 com CSS, você pode simplesmente usar:
Isso garante que você não quebrar o design da página, porque nós estamos usando
.modal-dialog
em vez do.modal
que será aplicado até mesmo para o sombreamento.fonte
Tente algo como o seguinte (veja o exemplo ao vivo do jsfiddle aqui: http://jsfiddle.net/periklis/hEThw/1/ )
fonte
Em vez de usar porcentagens para tornar o modal responsivo, acho que pode haver mais controle usando as colunas e outros elementos responsivos já incorporados no bootstrap.
Para tornar o modal responsivo / o tamanho de qualquer quantidade de colunas:
1) Adicione uma div extra ao redor da div de diálogo modal com uma classe de .container -
2) Adicione um pouco de CSS para aumentar a largura modal -
3) Como alternativa, adicione uma classe extra se você tiver outros modais -
4) Adicione uma linha / colunas se desejar vários modais de tamanho -
fonte
Adicione o seguinte no seu arquivo css
fonte
Use abaixo do script:
Demo :
fonte
Eu o resolvi para o Bootstrap 4.1
Mistura de soluções postadas anteriormente
fonte
Resultado esperado alcançado usando,
fonte
Bootstrap 3.xx
Observe que eu adicionei a classe .employeeModal na segunda div. Então denomine essa classe.
fonte
Eu usei dessa maneira, e é um trabalho perfeito para mim
fonte
Solução menos baseada (sem js) para o Bootstrap 2:
Onde quer que você queira especificar uma largura modal:
fonte
Eu usei o SCSS e o modal totalmente responsivo:
fonte
ou
fonte