為什么實現第二種需要用div包裹著p才能實現
<style>
? ?div{
? ? ? ?float:left;
? ? ? ?width:100%;
? ?}
? ?p{
? ? ? ?margin-right:320px;
? ?}
? ?img{
? ? ? ?float:left;
? ? ? ?width:300px;
? ? ? ?margin-left:-300px;
? ?}
</style>
<div>
<p>
? ?因為他也是喜歡編程和技術的家伙,于是,我讓他把他的一些學習Python和Web編程的一些點滴總結一下。于是他給我發來了一些他的心得和經歷,我在把他的心得做了不多的增改,并根據我的經歷增加了“進階”一節。這是一篇由新手和我這個老家伙根據我們的經歷完成的文章。
? ?我的這個朋友把這篇文章取名叫Build Your Programming Technical Skills,我實在不知道用中文怎么翻譯,但我在寫的過程中,我覺得這很像一個打網游做任務升級的一個過程,所以取名叫“技術練級攻略”,題目有點大,呵呵,這個標題純粹是為了好玩。這里僅僅是在分享
? ?前言,你是否覺得自己從學校畢業的時候只做過小玩具一樣的程序?走入職場后哪怕沒有什么經驗也可以把以下這些課外練習走一遍(朋友的抱怨:學校課程總是從理論出發,作業項目都看不出有什么實際作用,不如從工作中的需求出發)
</p>
</div>
<img src="demo.jpg"/>
為什么外部需要包裹一層div,直接設置
p{
width:100%;
float:left;
margin-right:320px;
}
不能實現呢?
2017-03-14
我是一個菜鳥,剛剛接觸css,看到師兄的問題,我實際測試了下,確實如師兄所說不能實現。首先p和img都浮動left,那么它們兩在沒設置margin的時候應該是僅僅挨在一起的。p標簽內容比較多,占據整個瀏覽器窗口,多行顯示,img被擠到下一行。最為關鍵的是你的p設置width:100%;那個p占據整個瀏覽器窗口的寬度,此時的margin-right被擠到瀏覽器窗口右側不可見的區域,此時設置img的格式,其實它就在那個右側不可見的區域里。
要解決的話你把width:100%;去掉就行。 一個菜鳥的分解,如有不對,請指正,互相學習。
2019-11-27
這里可能樓主早搞懂了,我也是剛剛在學這篇課程,說一下給其他看到的人做一下參考,如果是沒加div,p的右邊距是相對瀏覽器窗口,給了會使瀏覽器窗口增大,如果是加了div,p的右邊距是相當div,又由于是左浮動,給了圖像右邊距為負且大于圖片,所以就不會增大瀏覽器窗口了。如果不對,可以指正