Как мне позиционировать этот div относительно? - PullRequest
0 голосов
/ 04 ноября 2011

Вот сайт .

Я содержал кнопку «Заголовок» в элементе div, и я пытаюсь выяснить, как расположить его относительно изображения, прямо под ним. Поэтому, когда я меняю изображение, оно тоже располагается под новым изображением. Тем не менее, я даже не могу получить его положение относительно изображения. Вот код:

<?php
    $username = $_GET['username'];
    session_start();
    $_SESSION['username'] = $username;

    //Database Information
    $dbhost = "";
    $dbname = "";
    $dbuser = "";
    $dbpass = "";

    //Connect to database
    mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
    mysql_select_db($dbname) or die(mysql_error());

    //Do the query
    $query = mysql_query("SELECT * FROM images ORDER BY idnum DESC LIMIT 5");

    //Generate an array of all images
    $images = array();
    while($image = mysql_fetch_array($query)) {
    //this adds each image to the images array
    $images[] = $image;
    $image['filename'] = $firstimage;
}
?>

<?php

    // Beginning attempt at a caption script.



?>

<html>
  <head>
   <title>Home - Site in Development</title>
   <link rel="stylesheet" type="text/css" href="styles.css"/>
   <script type="text/javascript">

     // Switches the url to view large image.

    function switchImageUrl(url, width, height) {
     var x = document.getElementById('caption_selection');
        x.style.display = 'none';

     document.getElementById('center_frame').style.backgroundImage = 'url' + '(' + url + ')';
        document.getElementById('center_frame').style.width = width;
        document.getElementById('center_frame').style.height = height;
    }

   </script>

    <script type="text/javascript">

     function selectionToggle() {
       var x = document.getElementById('caption_selection');
       if(x.style.display == 'block')
          x.style.display = 'none';
       else
          x.style.display = 'block';
          x.style.width = '75px';
          x.style.height = '75px';
          x.style.top = '0px';
          x.style.left = '0px';
    }

    </script>

    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
      <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
      <script>
      $(document).ready(function() {
        $("#caption_selection").draggable({
        containment : "#center_frame"
        });
        $("#caption_selection").resizable({
        containment : "#center_frame"
        });
      });
      </script>

  </head>
  <body onLoad="CalculateAllImageWidthes()">
   <div id='account_links'>
    <?php
    if ($_SESSION['username']) {
     echo "Welcome $username!";
    } else { ?>
     <a href='login.php'>Login</a> | <a href='register.php'>Register</a>
    <?php } ?>
   </div>

   <h1>Picture Captions</h1>
   <br/>
   <br/>
   <div id="left_bar">
    Submit a picture <a href="upload.php">here</a>.
   <hr/>
   <h2>Top Images</h2>
   <br/>

   <div id="front_pg_images">
    <?php foreach($images as $image) { ?>
     <a onClick="switchImageUrl('<?php echo $image['filename']; ?>', '<?php echo $image['width']; ?>', '<?php echo $image['height']; ?>')"><img src="<?php echo $image['filename'];?>" width="72px" height="58px" id="front_pg_thumbnail"/></a>
     <?php echo $image['name']." - by ".$image['submitter']; ?> <br/>
     <br/>
    <?php } ?>
  </div>

  </div>
   <div id="center_frame" style="width: <?php echo $image['width']; echo "px" ?>; height: <?php echo $image['height']; echo "px" ?>; background-image: url('<?php echo $image['filename'];?>')" >
   <div id="caption_selection" style="display:none">

   </div> 
   </div>
   <div id="toggle_select_container">
    <input type="button" id="toggle_select" onClick="selectionToggle()" value="Caption"/>
   </div>


  </body>
</html>

Ответы [ 2 ]

0 голосов
/ 04 ноября 2011

Зачем нужна статика либо на картинке, либо на кнопке?

Поместите их в контейнер div шириной изображения, и кнопка всегда будет под ним:)

Добавьте к кнопке некоторое поле, чтобы оно не располагалось внизу изображения.

Как это: http://jsfiddle.net/ChkXw/

0 голосов
/ 04 ноября 2011

Я не уверен, где он установлен (возможно, styles.css), но меняю стиль позиционирования для элемента '#center_frame' с абсолютного на относительный. Похоже, это решает проблему.

...