西晉被北方的少數民族滅亡以後,從首都洛陽逃出來的一批王室成員,在建康(今江蘇南京)重整江山,建立了東晉。
有一天,四歲的司馬紹坐在父親晉元帝的膝蓋上玩耍,有個剛從長安回來的人來見元帝,元帝向這個人打聽洛陽的情況,看到司馬紹聽得很專心,就問他:“你猜是長安離我們遠呢?還是太陽離我們遠呢?”
司馬紹想了想回答說:“太陽離我們遠。”
元帝問他為什麼,他說:“我隻看見有人從長安來,可從沒看見有人從太陽上來,由此我斷定太陽遠。”
元帝一聽,很為兒子的聰明驚訝。第二天召集百官開宴會的時候,元帝就把司馬紹講的話告訴了大家,並當著眾人的麵,把昨天的問題向司馬紹又問了一遍。元帝還以為他會把昨天的妙語再說一遍給大家聽,不料他卻回答說:“長安遠。”
元帝又驚奇又生氣地說:“你怎麼跟昨天說的不一樣呢?”
司馬紹說:“現在我們隻要一抬頭就可以看見太陽,可我們卻看不見長安,所以說長安遠。”
元帝和大臣們聽了,都默不做聲了。原來,長安是當時最敏感的話題,說長安近,等於是說收複失地回歸舊都有望,司馬紹以此安慰父親;說長安遠,等於是說長安可望不可及,回天無力,司馬紹以此提醒大家不要白白花費精力,還是齊心協力治理好現在的國家吧。