Кнопка рядом с текстовой областью изменяемого размера с помощью начальной загрузки - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу разместить кнопку «Ответить» рядом с текстовой областью с соотношением сторон 9/1.Я пытался плавать текстовую область влево и кнопку вправо, но я просто не могу сделать это правильно.Кнопка либо находится под текстовой областью, либо становится слишком большой.

С этим связано то, что я не хочу изменять размер кнопки.Я хочу сохранить его в том же размере и изменить ширину текстовой области на основе оставшегося пространства, заполненного кнопкой при изменении размера окна.

В настоящее время я придумал это, но это мусор, потому что создание кнопки 10% сузит его при изменении размера окна.Что я могу сделать, чтобы кнопка была одинакового размера (НО НЕ ФИКСИРОВАННЫЙ РАЗМЕР) и изменила размер текстовой области?

.group-reply {
  box-sizing: border-box;
}

.group-reply textarea {
	width: 90% !important;
}

.group-reply button {
  width: 10%;
	position: absolute;
	bottom: 0;
}
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  </head>

  <body>
    <div class="input-group col-xs-12 col-sm-6 col-sm-offset-6 btm20 group-reply">
      <textarea auto-resize ng-model="vm.model.textarea" name="reply" class="form-control"></textarea>
      <button type="button" class="btn btn-primary btn-reply">Reply</button>
    </div>
  </body>

</html>

@ edit Желаемый конечный эффект

enter image description here

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Вы можете использовать классы строк и столбцов Bootstrap:

<div class="row">
  <div class="col-sm-10">
    <div class="input-group">
      <textarea auto-resize ng-model="vm.model.textarea" name="reply" 
        class="form-control"></textarea>
    </div>
  </div>
  <div class="col-sm-2">
    <button type="button" class="btn btn-primary text-left btn- 
    reply">Reply</button>
  </div>
</div>

Вы можете изменить размер столбцов по своему вкусу.

0 голосов
/ 06 декабря 2018
.group-reply {
  box-sizing: border-box;
  display:flex
}


<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  </head>

  <body>
    <div class="col-xs-12 col-sm-6 col-sm-offset-6 btm20 group-reply">
      <textarea auto-resize ng-model="vm.model.textarea" name="reply" class="form-control"></textarea>
      <button type="button" class="btn btn-primary btn-reply">Reply</button>
    </div>
  </body>

</html>

https://jsfiddle.net/t7nud6z0/

0 голосов
/ 06 декабря 2018

Вы можете использовать flex-d класс вместо input-group.

.group-reply {
  box-sizing: border-box;
  display: flex;
  padding: 0 !important;
}

textarea{
 min-height: 34px;
 overflow-y: hidden;
}

.btn{
 height: 34px;
 margin-top: auto;
 background-color: #0BC6DD;
 color: #FFF;
}
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  </head>

  <body>
    <div class="flex-d col-xs-12 col-sm-6 col-sm-offset-6 btm20 group-reply">
      <textarea auto-resize ng-model="vm.model.textarea" name="reply" class="form-control" style="
    border-bottom: 1px solid rgb(204, 204, 204) !important;
    box-shadow: none;
    border: unset;
    border-radius: 0;
    "></textarea>
      <button type="button" class="btn btn-reply">Reply</button>
    </div>
  </body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...