Badan dokumen html saya terdiri dari 3 elemen, tombol, formulir, dan kanvas. Saya ingin tombol dan formulir selaras kanan dan kanvas tetap selaras kiri. Masalahnya adalah ketika saya mencoba untuk menyelaraskan dua elemen pertama, mereka tidak lagi saling mengikuti dan sebaliknya bersebelahan secara horizontal ?, inilah kode yang saya miliki sejauh ini, saya ingin formulir mengikuti langsung setelah tombol di sebelah kanan. tanpa ruang di antara keduanya.
#cTask {
background-color: lightgreen;
}
#button {
position: relative;
float: right;
}
#addEventForm {
position: relative;
float: right;
border: 2px solid #003B62;
font-family: verdana;
background-color: #B5CFE0;
padding-left: 10px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="timeline.js"></script>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" />
</head>
<body bgcolor="000" TEXT="FFFFFF">
<div id="button">
<button onclick="showForm()" type="button" id="cTask">
Create Task
</button>
</div>
<div id="addEventForm">
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
</form>
</div>
<div>
<canvas id="myBoard" width="1000" height="600">
<p>Your browser doesn't support canvas.</p>
</canvas>
</div>
</body>
</html>
margin-left: auto;
tetapi itu tidak berhasil yang mengejutkan saya karena elemen yang saya coba selaraskan ke kanan adalah relatif.mengapung ok, tapi bermasalah dengan ie6 & 7.
saya lebih suka menggunakan
margin-left:auto; margin-right:0;
div bagian dalam.sumber
0
itu valid, namun demikian 0px ... berdebat tentang hal Anda sehingga kami belajar sesuatu.display: block;
Jawaban lama Pembaruan: gunakan flexbox, cukup banyak yang berfungsi di semua browser sekarang.
Dan Anda bisa menjadi lebih mewah, cukup:
Dan pelamun:
sumber
Jawaban lain untuk pertanyaan ini tidak begitu baik karena
float:right
bisa keluar dari div induk (overflow: tersembunyi untuk orangtua kadang-kadang mungkin membantu) danmargin-left: auto, margin-right: 0
bagi saya tidak bekerja di div bersarang kompleks (saya tidak menyelidiki alasannya).Saya sudah menemukan bahwa elemen tertentu
text-align: right
berfungsi, dengan asumsi ini berfungsi ketika elemen dan orang tua keduanyainline
atauinline-block
.Catatan:
text-align
properti CSS menjelaskan bagaimana konten inline seperti teks diselaraskan dalam elemen blok induknya.text-align
tidak mengontrol perataan elemen blok itu sendiri, hanya konten inline mereka.Sebuah contoh:
Ini JS Fiddle .
sumber
Apakah maksud Anda seperti ini? http://jsfiddle.net/6PyrK/1
Anda dapat menambahkan atribut
float:right
danclear:both;
ke formulir dan tombolsumber
Jika Anda memiliki banyak div yang ingin Anda selaraskan di ujung kanan div induk, atur
text-align: right;
div induk.sumber
Anda dapat menggunakan
flexbox
denganflex-grow
menekan elemen terakhir ke kanan.sumber
Jika Anda tidak harus mendukung IE9 dan di bawah ini Anda dapat menggunakan flexbox untuk menyelesaikan ini: codepen
Ada juga beberapa bug dengan IE10 dan 11 ( dukungan flexbox ), tetapi mereka tidak ada dalam contoh ini
Anda dapat menyelaraskan
<button>
dan<form>
dengan membungkusnya secara vertikal dalam wadahflex-direction: column
. Urutan sumber elemen akan menjadi urutan di mana mereka ditampilkan dari atas ke bawah jadi saya memesannya kembali.Anda kemudian dapat secara horizontal menyelaraskan wadah formulir & tombol dengan kanvas dengan membungkusnya dengan wadah
flex-direction: row
. Sekali lagi urutan sumber elemen akan menjadi urutan di mana mereka ditampilkan dari kiri ke kanan jadi saya memesannya kembali.Juga, ini akan mengharuskan Anda menghapus semua
position
danfloat
aturan gaya dari kode yang tertaut dalam pertanyaan.Berikut adalah versi HTML terpangkas di codepen yang tertaut di atas.
Dan di sini adalah CSS yang relevan
sumber
Jawaban sederhana ada di sini:
sumber
Anda cukup menggunakan bantalan-kiri: 60% (untuk mantan) untuk menyelaraskan konten Anda ke kanan dan secara bersamaan membungkus konten dalam wadah responsif (saya membutuhkan navbar dalam kasus saya) untuk memastikan itu berfungsi dalam semua contoh.
sumber
Jika Anda menggunakan bootstrap, maka:
sumber
<div class="text-right"></div>
.Saya tahu ini adalah pos lama tetapi tidak bisakah Anda menggunakan saja
<div id=xyz align="right">
benar?Anda bisa mengganti kanan dengan kiri, tengah dan justifikasi.
Bekerja di situs saya :)
sumber
align
atributnya sudah tidak digunakan lagi .