阻止HTML元素变得偏移

时间:2016-11-17 22:23:14

标签: javascript html css

#h1 {
    float: center;
}
h2 {
    float: center;
}
p {
    font-family: "Comic Sans",sans-serif;
}
#div1 {   
    width: 7.5%;
    height: 100px;
    margin-left: 10px;
    margin-right: 12px;
    padding: 3%;
    border-bottom: 4px solid black;
    border-radius: 0px 0px 25px 25px;
    background-color: white;
    float:right;
    position: absolute;
    display: block;
    right: 0px;
}
#div2 {
    width: 7.5%;
    height: 100px;
    margin-left: 10px;
    margin-right: 15%;
    padding: 3%;
    border-bottom: 4px solid black;
    border-radius: 0px 0px 25px 25px;
    background-color: white;
    position: absolute;
    display: block;
    right: 0px;
}
#div3 {
    width: 7.5%;
    height: 100px;
    margin-left: 10px;
    margin-right: 30%;
    padding: 3%;
    border-bottom: 4px solid black;
    border-radius: 0px 0px 25px 25px;
    background-color: white;
    position: absolute;
    display: block;
    right: 0px;
}
#div4 {
    width: 101px;
    height: 101px;
    margin-left: 15%;
    padding: 1%;
    border-bottom: 4px solid black;
    border-radius: 0px 25px 25px 0px;
    background-color: white;
}
#div5 {
    height: 101px;
    padding: 10px;
    border-bottom: 4px solid black;
    border-radius: 0px 25px 25px 25px;
    background-color: white;
    margin: 1.5%;
}
#text {
    border-bottom: 4px solid black;
    padding: 1px;
    width: 13%;
    height: 50px;
    border-radius: 25px 25px 0px 0px;
    background-color: white;
    margin-left: 1.5%;
    color: #417cb8;
    text-align: center;
}
#tag1 {
    border-bottom: 4px solid black;
    padding: 1px;
    margin-right: 12px;
    width: 13%;
    height: 50px;
    border-radius: 25px 25px 0px 0px;
    background-color: white;
    float: right;
    position: absolute;
    margin-right: 5px;
    font-family: "Comic Sans",sans-serif;
    right: 0px;
    text-align: center;
    color: #417cb8;
}
#tag2 {
    margin-right: 15%;
    padding: 5px;
    border-bottom: 4px solid black;
    width: 13%;
    height: 50px;
    border-radius: 25px 25px 0px 0px;
    background-color: white;
    position: absolute;
    font-family: "Comic Sans",sans-serif;
    text-align: center;
    display: block;
    right: 0px;
    color: #417cb8;

}
#tag3 {
    margin-right: 30%;
    padding: 5px;
    border-bottom: 4px solid black;
    width: 13%;
    height: 50px;
    border-radius: 25px 25px 0px 0px;
    background-color: white;
    position: absolute;
    font-family: "Comic Sans",sans-serif;
    text-align: center;
    display: block;
    right: 0px;
    color: #417cb8;
}
#tag4 {
    float: left;
    padding: 5px;
    border-bottom: 4px solid black;
    width: 10%;
    height: 101px;
    border-radius: 25px 0px 0px 25px;
    background-color: white;
    position: absolute;
    font-family: "Comic Sans",sans-serif;
    text-align: center;
    display: block;
    margin-left: 1.5%;
    color: #417cb8;
    padding: 1%;
}
#element {
	float: left;
}
img.object {
	border: 1px solid #6496c8;
	background-color: white;
	border-radius: 25px;
	padding: 10px;
	height: 101;
	width: 101;
	float: center;
}
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.21/jquery-ui.min.js"></script>
<script src="jquery.ui.touch-punch.min.js"></script>

<script>
    $('#element').draggable();
    $( "#div1" ).droppable({
        drop: function( event, ui ) {
          $( this )
            .addClass( "isDropped" )
            .html( "Dropped!" );
        }
    });
</script> <script>
function allowDrop(ev, div) {
    ev.preventDefault()
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id)
}

function drop(ev, div) {
    ev.preventDefault()
	if(div == 'div4') 
	{
		var data = ev.dataTransfer.getData("text")
		var element = document.getElementById(data)
		element.parentNode.removeChild(element)
	}
	else if (div == 'div5') {
		if(document.getElementById(div).innerHTML <= 5)
		{
			var data = ev.dataTransfer.getData("text")
			ev.target.appendChild(document.getElementById(data))
		}
	}
	else if (div == 'element')
	{
		
	}
	else
	{
		if(document.getElementById(div).innerHTML <= 5)
		{
			var data = ev.dataTransfer.getData("text")
			ev.target.appendChild(document.getElementById(data))
		}
	}
}
</script>
</head>
<body>
<div style="border: 1px solid black; border-radius: 30px; background-color: #6496c8;">

<h2 style="float: center; text-align: center; border-bottom: 4px solid black; width: 275px; height: 65px; border-radius: 25px 0px 0px 0px; background-color: white; margin-left: 1.5%;"><font style="text-align:center;" face="verdana" color="#417cb8" size=30>Organiser</font></h2>

<div id="tag1"><font size="7">Now</font></div><br><br><br><br>
<div id="div1" ondrop="drop(event, 'div1')" ondragover="allowDrop(event, 'div1')"></div>

<div id="tag2"><font size="7">Next</font></div><br><br><br><br>
<div id="div2" ondrop="drop(event, 'div2')" ondragover="allowDrop(event, 'div2')"></div>
<div id="tag3"><font size="7">After</font></div><br><br><br><br>
<div id="div3" ondrop="drop(event, 'div3')" ondragover="allowDrop(event, 'div3')"></div>

<br><br><br><br><br><br><br><br>
<p id="text"><font size="7">To Do</font></p>

<p id="div5" ondrop="drop(event, 'div1')" ondragover="allowDrop(event, 'div1')" overflow="Scroll">
<img class="object" src="ABC.png" draggable="true" ondragstart="drag(event)" id="drag1" width="100" height="100">
<img class="object" src="pencil.png" draggable="true" ondragstart="drag(event)" id="drag2" width="100" height="100">
<img class="object" src="recycle.png" draggable="true" ondragstart="drag(event)" id="drag3" width="100" height="100">
<img class="object" src="apple.png" draggable="true" ondragstart="drag(event)" id="drag4" width="100" height="100">

<br><br><p><div id = "tag4"><font size="10">Done</font></div>
<div id="div4" ondrop="drop(event, 'div4')" ondragover="allowDrop(event, 'div4')"><img src="https://cdn3.iconfinder.com/data/icons/tools-solid-icons-vol-2/72/59-512.png" height=100px width=100px></div><br>

</div>
</body>
</html>

当我将元素拖放回起始div时,它们会变得偏移,任何人都可以解释为什么?我已经尝试将标签更改为类,我尝试更改拖放选项无效。

1 个答案:

答案 0 :(得分:0)

<p>元素中有4张图片。这些图片之后是换行符<br><br>,因为您的<p>未正确关闭。因此,浏览器会将</p>标记放在<br><br>之后,而不是像我想象的那样放置,

当您将图像移出<p>然后再返回时,它会立即放在换行符之后,而不是之前。这会导致图像移动到下一行。

您需要做的只是在</p>之前放置<br><br>或完全删除换行符。