html {font-size:15px} )していたとしても、そのemがある位置の親要素のfont-size指定が18pxならば、1emのサイズは18pxになります。
一方、「rem」は、ルート要素で指定した文字サイズを基準にします。htmlの入れ子の中にあっても親要素の指定に影響されません。
font-size:1em; padding:0.5em
font-size:1em; padding:0.5em
サンプル1は、左右の親要素内に内包するテキストを含めて全く同じp要素が入っています。文字サイズは、ルート要素で指定した15pxのままで、右側の親要素のみに font-size:18px を指定しています。その結果、
  左側:1emは15px font-sizeが15px(1em)paddingが7.5px(0.5em)
  右側:1emは18px font-sizeが18px(1em)paddingが9px(0.5em)になっています。
<div class="box"> <div class="parent-l"><p class="sample">font-size:1em; padding:0.5em</p></div> <div class="parent-r"><p class="sample">font-size:1em; padding:0.5em</p></div> </div>
html {
	font-size: 15px;
	}
.parent-l,.parent-r {
	display: inline-block;
	width: 45%;
	margin: 0 0 0 15px;
	padding: 5px;
	}
.parent-r {
	font-size: 18px;
	}
p.sample {
	text-align: center;
	background: #bef;
	color: #000;
	border: 1px solid #ccc;
	font-size: 1em;  /*-- emを使用 --*/
	padding: 0.5em;  /*-- emを使用 --*/
	}
  
 
font-size:1rem; padding:0.5rem
font-size:1rem; padding:0.5rem
サンプル2は、サンプル1と同じ状態のものを使い、p要素のみclass名を「sample2」として、CSSでemをremに置き換えています。右側の親要素のみに	 font-size:18px を指定していますが、結果は同じになります。
  左側:1remは15px font-sizeが15px(1rem)paddingが7.5px(0.5rem)
  右側:1remは15px font-sizeが15px(1rem)paddingが7.5px(0.5rem)
<div class="box"> <div class="parent-l"><p class="sample2">font-size:1rem; padding:0.5rem</p></div> <div class="parent-r"><p class="sample2">font-size:1rem; padding:0.5rem</p></div> </div>
p.sample2 {
	text-align: center;
	background: #bef;
	color:#000;
	border: 1px solid #ccc;
	font-size: 1rem;  /*-- remを使用 --*/
	padding: 0.5rem;  /*-- remを使用 --*/
	}
  
font-size:18px; padding:0.5em
font-size:18px; padding:0.5rem
左右の親要素をまったく同じにして、左右のp要素の文字サイズをともに絶対指定の font-size:18px 、paddingのみ左を「em」、右を「rem」の単位にしています。その結果、左側のpaddingは、font-sizeの18pxの半分の9pxに、右側のpaddingは、ルート要素指定の15pxの半分の7.5pxになります。
  左側:font-sizeが18px 1emは18px paddingが9px(0.5em)
  右側:font-sizeが18px 1remは15px paddingが7.5px(0.5rem)
<div class="box"> <div class="parent"><p>font-size:18px; padding:0.5em</p></div> <div class="parent"><p class="rem">font-size:18px; padding:0.5rem</p></div> </div>
.parent {
	display: inline-block;
	width: 45%;
	margin: 0 0 0 15px;
	padding: 5px;
	}
.parent p {
	text-align: center;
	background: #bef;
	color:#000;
	border: 1px solid #ccc;
	font-size: 18px;
	padding: 0.5em;  /*-- p要素左側emを使用 --*/
	}
.parent p.rem {
	padding: 0.5rem;  /*-- p要素右側remを使用 --*/
	}