重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

max-margin-leftというプロパティをCSSに追加したいのですが
いえ、無理なら同じような効果が得られるだけでももちろんokですよ?
やりたいこと
margin:0px auto;のように左右中央にコンテンツを表示する方法がありますが、もうちょっと左よりにしたい!
だけど、margin:0px auto 0px 120px ;にしたらウィンドウ幅が狭まったときも左に120pxもあまっちゃう!もったいない!
左も消費できればいいのに。と。
こんな感じの動作↓
max-margin-left:120px;max-width:600px;margin-right:auto;


同じような動作をするならどんなのでもかまいません。
よろしくお願いします。

マージンを%指定すればいいじゃん→%指定は避けたいです。

A 回答 (2件)

JavaScriptを使って一応出来ましたが、Safari以外のブラウザ(IEは確認していません)ではカクカクした表示になってしまうようです。



<div id="target_div" style="border : 1px red solid; margin : 0 auto; max-width : 600px; height : 100px;"></div>
<script type="text/javascript">
// id属性からdivを取得
var targetDiv = document.getElementById("target_div");

// max-widthで指定した値
var targetDivOffsetWidth = 600;

// max-margin-leftで指定したい値
var maxMarginLeft = 120;

// ウィンドウが読み込まれたとき、またはリサイズされたときのイベント
window.onload = window.onresize = function() {
if (targetDiv.parentNode.offsetWidth - targetDivOffsetWidth <= 0) {
targetDiv.style.margin = "0";
} else if (targetDiv.parentNode.offsetWidth - targetDivOffsetWidth < maxMarginLeft * 2) {
targetDiv.style.margin = "auto";
} else {
targetDiv.style.marginLeft = maxMarginLeft + "px";
}
};

// window.addEventListener(...);
</script>
    • good
    • 0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "

http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<body>
<div style="margin:0px auto;width:660px;">
<div style="width:200px;float:right;"></div>
<div style="width:450px;border:1px #f00 solid; float:right">
筋違いか・・・。
</div>
<div style="clear:both"></div>
</div>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私もフロートは考えたのですがちょっと違うんですよね・・・。
それからカラム落ちもありますし。
フロートのクッションでカラム落ちする前にmax-width指定(とwidth:100%)でクッションが縮まればいんですが、思うようにいきませんねぇ・・・

お礼日時:2008/10/27 17:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!