0

現在、ブラウン大学の NLCC で、メンターと私は psiTurk Stroop タスクの下部に画像を含めようとしています。私たちはプロジェクトの Dev Branch と協力しています。

私たちの目標は、次のように 3 つの画像を並べて表示することです: http://i.stack.imgur.com/4IjNG.png

左右のボックスに赤と緑のボックスが表示されている場合を除きます。ただし、test.html ページの下部にボックスが表示されるようにコードを含めようとすると、これがブラウザに表示されます。 http://i.stack.imgur.com/LKGfk.png

私が使用しようとしているコードは次のとおりです。

h1>Test Phase</h1>
<div id="instructions">What color is this word?</div>
<div id="stim"></div>
<div id="query"></div>

<p id="PDisplay"> </p>
<p id="TDisplay"> </p>
<p id="RDisplay"> </p>
<div style = "position: absolute;
left:50;"><img id="Lred" src="static/images/red.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:50;"><img id="Lblank" src="static/images/blank.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:50;"><img id="Lgreen" src="static/images/green.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:370;"><img id="Ccue" src="static/images/cue.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:370;"><img id="Cblank" src="static/images/blank.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:370;"><img id="Ctarget" src="static/images/target.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:690;"><img id="Rred" src="static/images/red.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:690;"><img id="Rblank" src="static/images/blank.jpg" IMG HEIGHT = 150/></div>
<div style = "position: absolute;
left:690;"><img id="Rgreen" src="static/images/green.jpg" IMG HEIGHT = 150/></div>

画像を押して左隅だけに表示する要素があるのではないかと思います。この問題を解決するために、ページの css を操作してみましたが、本文の CSS を除いてシート全体を削除し、すべての画像が左側に表示されたままになるようになりました。念のため、css は次のようになります。

@import url(http://fonts.googleapis.com/css?family=Crimson+Text:400,600italic);

body {
    /* background: #999; */
    background: black; /* #808090; */
    color: white;
    text-align: center;
    font-family: Verdana, Helvetica, sans-serif;
    margin: 0 auto;
        margin-top: 100px;
    width: 800px;
}

h1 {
        font-family: "Crimson Text";
        font-size: 42pt;
        font-style: italic;
}

a {
    color: #FFCC90;
}

.warm {
    color: #DDAA90;
}

.cool {
    color: #ccccff;
}

strong {
    font-weight: bold;
    color: #DDAA90;
}


/* Instructions */

#main {
    margin: 0 auto;
    width: 800px;
    font-size: 100%;
}

.continue  {
        font-size: 2em;
    width: 5em;
        height: 2.5em;
    margin: 20px 20px;
}

.instruct p {
    text-align: justify;
}

.instruct .prompt {
    text-align: center;
    font-style: italic;
    font-size: 100%;
    margin: 0 auto;
    margin-top: 30px;
    width: 500px;
}


/* Questionnaire */

input {
        width: 200px;
        height: 50px;
        font-size: 22pt;
}

.questionnaire {
    text-align: center;
}

.questionnaire .continue {
    margin: 0 auto;
    margin-top: 20px;
}

.questionnaire h1 {
    text-align: center;
}

.questionnaire p {
    text-align: left;
}

.questionnaire #warning {
    color: red;
    font-weight: bold;
}

.questionnaire table {
    margin: 0 auto;

    /* Border stuff: */
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0.25em;
    border: none;
}

.questionnaire tr {
    display: block;
    border-bottom: 1px dashed white;
}

.questionnaire tr:last-child { border: 0; }

.questionnaire td {
    padding-right: 0.25em;
    vertical-align: middle;
    border-width: 0 1px;
    border: none
    margin: 20px;
    padding-bottom: 10px;
}
.questionnaire td:first-child, td + td {border-left: 0; }
.questionnaire td:last-child { padding-right: 0; border-right: 0; }

.answer {
        text-align: left;
    padding-left: 3em;
}

.questionnaire .questiontext {
    vertical-align: top;
        width: 300px;
        margin: 20px;
        font-size: 1.2em;
}
.questiontext em {
    font-size: 70%;
}
.questionnaire textarea {
    width: 320px;
    height: 130px;
}
.questionnaire form {
    text-align: right;
}
.questionnaire ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.questiontext {
    text-align: right;
}


/* Debriefing form */

#debriefing {
    width: 640px;
        margin: 0 auto;
}

#debriefingtext {
    margin: 0 auto;
    padding: 10px 20px;
    font-size: 90%;
    text-align: justify;
}
#affirmationbox {
    position: relative;
    margin:  0 auto;
    border: 1px dotted white; 
    padding: 10px 20px;
    vertical-align: middle;
}
#affirmationbox p {
    text-align: left;
    font-style: italic;
}
#affirmationbox  table {
    border-spacing: 20px;
}
#affirmationbox  td {
    vertical-align: middle;
    font-size: 100%;
    color: black;
    height: 50px;
    cursor: pointer;
}
#affirmative {
    background: white;
    overflow: hidden;
    font-weight: bold;
    width: 10em;
}
#negative {
    background: white;
    font-size: 100%;
    width: 25em;
}

画像の配置を制限している HTML またはコードの他の属性に別の要素があるかどうか疑問に思っていました。

4

2 に答える 2

0

絶対位置を使用する代わりに、要素を左にフロートさせてみませんか

試す

<div style="float:left;">

それ以外の<div style = "position: absolute;left:50;">

于 2013-08-08T15:20:06.930 に答える
0

for <div>each<img>タグを使用するのではなく、各行に 1 つのタグを使用し、配置を に変更します。<div>inline-block

たとえば、次のようにするのではなく:

<div style = "position: absolute;left:50;">
    <img id="Lred" src="static/images/red.jpg" IMG HEIGHT = 150/>
</div>
<div style = "position: absolute;left:50;">
    <img id="Lblank" src="static/images/blank.jpg" IMG HEIGHT = 150/>
</div>
<div style = "position: absolute;left:50;">
    <img id="Lgreen" src="static/images/green.jpg" IMG HEIGHT = 150/>
</div>

これを行う:

<div style = "position:inline-block;left:50;">
    <img id="Lred" src="static/images/red.jpg" IMG HEIGHT = 150/>
    <img id="Lblank" src="static/images/blank.jpg" IMG HEIGHT = 150/>
    <img id="Lgreen" src="static/images/green.jpg" IMG HEIGHT = 150/>
</div>

合計 3 つの要素ではなく、3つの画像すべてを 1 つの要素に変更position:absoluteして、1 つの要素に収めた方法に注目してください。position:inline-block<div><div>

アップデート

このコードを 9 つの画像すべてに複製すると、ページ上に 3x3 グリッドの画像が作成されます。3 つの画像セットが互いに「スタック」する 3x1 グリッドを作成する場合は、そのままにしておきposition:absolute;ます。これは、一連の 3 つの画像を動的に非表示/表示し、それらを同じ場所に表示したい場合に最適です。

于 2013-08-08T15:28:03.723 に答える