No.6ベストアンサー
- 回答日時:
こんにちは。
以下をスタイルに記述すればできると思いますけど。
ul li {
position:relative;
top:0;
left:0;
width:100px;/* 任意の数値 */
}
ul li ul{
position:absolute;
top:0;
left:100px;/* 任意の数値 */
width:100px;/* 任意の数値 */
clear:left;/* 一応 */
}
No.8
- 回答日時:
ソース代行は嫌いなんで考える余地を残した未完成品を
まずは、正しいhtmlを書いてください。
正しいhtmlに非論理・見た目思考のバージョンを書いてみました
ul li{line-height:1.2em;list-style-position:inside;}
ul li ul{margin-top:-1.2em;}
文字が重なると思います。リストであることを頭において考えると理解していれば調整は簡単に出来ると思います。「ご存知の方」ではありませんでしたが、普通に考え組み合わせればできました。#7さんの「とりたてて難しくない」は本当だと思います。人のソースをコピーしてるだけの人には無理でしょうけどね。
No.7
- 回答日時:
> floatやpositionを使うのは難しいのでしょうか…
ANo.2で「難しいかも」と書いたのは、それらを使用しての実現自体が困難という意味ではなく、「floatやpositionの理屈(性質)」をきちんと把握し理解していないと、適切な指定がなかなかできず調整に苦労する可能性がある、という意味です。理屈がわかっていればとりたてて難しくはないです。
ただ、このあたりのプロパティは今までの経験からすると、理解がおぼつかないで漠然と使用されている方も少なくない様で、その様な状態だとこちらも説明するのがちょっとしんどかったりするのです。なのでANo.2では(仮に質問者様がそういうレベルであった場合に)floatやpositionを使用しなくても済む比較的理解しやすい方法だけを書かせて頂きました。
ANo.1の補足を見る限り、ANo.5様も指摘されていますが、残念ながら質問者様はまだこれらのプロパティをよく理解しておられない段階だと察せられます。なのですみませんが今回は「(floatやpositionを使用した)具体例」は割愛させて頂きます。ANo.6様がpositionを使用したサンプルを出されている事ですし、そちらを参考にするのと併せて各プロパティの仕様をこの機会にじっくり確認して理解を深める事をお奨めします。
No.5
- 回答日時:
><li style="float:left">野菜
><ul style="float:left">
><li>大根
floatの使い方が誤っているね。
だって指定した要素「に続く要素」を回り込ませる指定だし。
それとliの後にulが有るから解り辛いけど実際には大きなliという箱(とその周りのli)と、それとは別のその中に有るulという箱(とその周りの文字とか隣接ul)で指定の効果は全然別。
これによって外側のliに内側のulが横並びになる事は無いよ。
上位のliが手前の(同階層の)liに並んで表示される格好になってるんじゃない?
No.4
- 回答日時:
ANo.3です。
すみません…もう一つ間違ってました。ANo.3の訂正はANo.2に対するものであり、ANo.1様ではありません。ANo.2,3,4が同一回答者(abril)です。紛らわしい事をして失礼しました。No.2
- 回答日時:
横並びにする場合は、floatかpositionを使う事が多いかと思います。
これはある程度それぞれのプロパティの理屈がわかっていないと調整が難しいかもしれません。もしも、リストのメイン・カテゴリの項目の長さが大体決め打ちできるなら、すごく大雑把な方法として、サブ・カテゴリのリストのマージンを上方向に一行分マイナスにして、左方向にメインカテゴリの項目分(+α)のマージンを与える、という手もあります。
----------------------------------------------------------------------
【HTML】
----------------------------------------------------------------------
<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>サンプル</title>
<link rel="stylesheet" type="text/css" href="css/sample.css" media="all" />
</head>
<body>
<div id="contents">
<ul class="hoge1">
<li>野菜</li>
<ul class="hoge2">
<li>大根</li>
<li>にんじん</li>
<li>ほげほげほげほげほげほげほげほげほげほげほげほげほげ</li>
</ul>
</li>
<li>果物
<ul class="hoge2">
<li>りんご</li>
<li>バナナ</li>
<li>ほげほげほげほげほげほげほげほげほげほげほげほげほげ</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
----------------------------------------------------------------------
【CSS】
----------------------------------------------------------------------
body {
font-size: 12px;
padding: 0;
margin: 0;
}
div#contents {
width: 500px;←これは親要素の幅。分かり易い様に仮に入れてあります。
}
ul {
list-style-type: disc;
line-height: 140%;
padding: 0 0 0 1.5em;
margin: 0;
}
ul li {
padding: 0;
margin: 0;
}
ul.hoge2 {
margin: -1.5em 0 0 5em;←ここでマージンを調整
}
----------------------------------------------------------------------
ただしこの方法だと、メイン・カテゴリの項目名(「野菜」「果物」)の長さが、ul.hoge2の左マージンより長くなってしまった場合は(折り返したりしないので)サブカテゴリの項目名と重なってしまいます。ですので、必ずメインカテゴリの項目名が入りきる長さを決め打ちできる場合に限ります。また、サイズやフォントの種類やサイズ、行間によっては、各環境でのサブカテゴリの揃い方が微妙に異なってきますのであくまでとりあえず的な方法です。そういう要因に左右されない横並びの2ボックス状態を作りたければ、やはりfloatなりpositionなりを使いこなす必要が出てきます。
※蛇足ですが、<li>の閉じタグ</li>は省略しない様にしておいた方が宜しいです。ちなみにサンプルのDOCTYPEでは閉じタグは必須、省略不可です。
とてもご丁寧な解説、ありがとうございます!
やはりfloatやpositionを使うのは難しいのでしょうか…
お手すきのお時間ありましたら、参考までに具体例をお教え頂けると幸いです。
No.1
- 回答日時:
inline化するかfloatを使うとできるんじゃないかな。
http://www.tohoho-web.com/css/reference.htm#disp …
http://www.tohoho-web.com/css/reference.htm#float
この回答への補足
floatは次のに試してみましたができませんでした。
<ul>
<li style="float:left">野菜
<ul style="float:left">
<li>大根
<li>にんじん
</ul>
</li>
<li style="float:left; clear:both;">果物
<ul style="float:left">
<li>りんご
<li>バナナ
</ul>
</li>
</ul>
inline化も以下のようにしてみましたが、ダメでした。
<ul>
<li style="display:inline">野菜
<ul>
<li>大根
<li>にんじん
</ul>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(HP作成)メニューバーのプル...
-
フレームページのドロップダウ...
-
画像を縦に4つ並べたい場合
-
画像がかなり大ので全体的に1/...
-
html <li>の中の文字一部に色を...
-
疑似クラス :activeが効きません
-
リストマーカーをボックス内に...
-
nth-childが効かない…。原因は...
-
リスト(ul / li)タグの左イン...
-
<ul>~</ul>が二つ続くと間に改...
-
エクセルVBAでブックのデータを...
-
<table>の高さ固定。情報増加時...
-
HTML5のfooterに見出しを付けて...
-
画像にリンクを張ると画像がず...
-
inline-blockでliが横並びにな...
-
【ヒトの神秘】美男美女から何...
-
ウインドウを小さくするとbody...
-
Macで画像の切り抜きできないの?
-
ワードにコピペ、画像が表示さ...
-
htmlの文字が縦書きになる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html/cssの、navを2段にする...
-
リストマーカーをボックス内に...
-
リストの数字のフォントサイズ...
-
<ul><li></li></ul>にするメリ...
-
ulタグやliタグの中でbrタグ...
-
レスポンシブWebデザインでリン...
-
<ul>~</ul>が二つ続くと間に改...
-
HTML5のfooterに見出しを付けて...
-
htmlの<ol>タグで、数字などを...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
HTMLで組織図を作成する方法
-
複数行にまたがる括弧を表示し...
-
liタグの中に<p>タグやら<dl>を...
-
display:table;を多段表示させたい
-
divタグ内のコンテンツが重なっ...
-
<table>の高さ固定。情報増加時...
-
html <ul></ul>の並びで一行空...
-
テーブル内のプルダウンの下に...
-
【至急】ul li 行間調整ができ...
おすすめ情報