Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.9k views
in Technique[技术] by (71.8m points)

javascript - How can I align the divs to right?

this is image of my chat app. I want to position divs to the right but I cant do this. I tried the text align right but that did not work. When text length is long, divs should be fixed on the right. Text can expand to the left. This divs should works like text align center attribute. This is my html code

<div class="container"> 
<div id="chat-cont"> </div> 

<div class="row"><h5>Connection ID : <span id="connectionId"></span></h5></div>
<div class="row"> <div class="col-md-7">
<input type="text" id="sender" value="@ViewBag.message"></div> </div>
<div class="row"> <div class="col-md-7"><input type="text" placeholder="ReceiverId" id="client"></div>
</div> 
<div class="row"> <div class="col-md-7"> <input type="text" id="txtMessage"> 

<button>Send</button></div> </div> </div> 

This is my js code

$("button").click(() => { 
let message = $("#txtMessage").val();
var user = $("#sender").val(); 

connection.invoke("ClientSendMessage", $("#client").val(),user, message) .catch(error => console.log("Error." + error));
var div = document.createElement("div"); 
div.textContent = message; 
div.style.fontSize = "20px"; 
div.style.fontFamily = "Josefin Sans, sans-serif";
div.style.paddingLeft = "5px"; 

div.style.paddingRight = "5px"; 

div.style.paddingBottom = "3px"; 
div.style.paddingTop = "3px"; 
div.style.marginLeft = "500px"; 
div.style.marginBottom = "2px"; 
div.style.width = "fit-content"; 
div.style.height = "fit-content"; 
div.style.backgroundColor = "#056162";
div.style.color = "white"; 
div.style.borderRadius = "10px"; 
div.style.border = "1px solid black";
document.getElementById("chat-cont").appendChild(div); }); 

And this is how to codes work [Divs should be in same position as rigt][1]

? [1]: https://i.stack.imgur.com/nuPWy.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

use flexbox align items flex-end

.box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.child{
  background-color: #f44336;
  color: white;
  padding: 14px 25px;
  margin: 10px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
<div class="box">
  <div class="child">Hello</div>
  <div class="child">How are you?</div>
  <div class="child">What is your favorite lesson?</div>
</div>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...